0
控制器具有下列路線:(爲了說明簡單的例子)如何在jQuery .ajax調用之後從Ruby(Padrino)服務器端呈現全視圖?
get :index do
render "person/index" #this view has the .ajax action in it
end
put :update, :with => :id do
@person = Person.find(params[:id])
render "person/details"
end
從index.slim文件的阿賈克斯電話:
onTestButtonClicked: function() {
return $.ajax({
type: "PUT",
url: "/update/" + contact_id,
data: {
key: value
},
success: function(data) {
return console.log("success");
}
});
}
到底是什麼,我要完成的是隻需讓呈現來自更新路由的「person/details」行,就可以替換整個視圖,就像它是GET或提交的表單一樣。實際上成功傳遞的數據是用於驗證某些信息的JSON對象,但只是在成功時重定向窗口實際上不會實現我不需要的任何操作,它們會將成功的部分結果數據替換爲部分DOM回電話。
我在這裏錯過了一些簡單的工作嗎?
如果要替換整個頁面爲什麼要使用ajax? –
這是一個很好的問題,我想到今天早上與這個問題作鬥爭之後,直到很晚。原因是我需要實際發送帶有PUT的JSON對象到服務器。不幸的是,在這種情況下,這是不可選的。我想也許我正在尋找一種方法來從JS不是ajax做PUT或POST。 – Pelted
無論如何,我認爲你可以在你的ajax調用的** success **中訪問**渲染「person/details」**。 類似於:** $('body')。html(data); **也許有用。 –