我一直在使用谷歌搜索,但我似乎無法得到正確的設置,通過我在谷歌上看到的東西我最終與此:如何通過AJAX發送對Ruby on Rails的請求
var dataString = $('#markerform').serialize();
var id = $('#route_id').val()
$.ajax({
type: 'POST',
url: '/routes/'+id,
data: { "_method":"put", dataString},
dataType: "JSON",
success: function(data) {
console.log(data);
}
});
這對我的路線控制器
def update
@route = Route.find(params[:id])
respond_to do |format|
if @route.update_attributes
format.html
format.json { render text: "Done" }
else
format.json { render text: "Bad" }
end
end
end
但我結束了這個螢火錯誤:
SyntaxError: invalid object initializer
[Break On This Error]
data: { "_method":"put", dataString},
我可能ç依靠這個,所以我可以通過這個應用程序獲得一些成功。謝謝。
'類型:「PUT''應該工作 – jvnill 2013-03-12 06:51:17
@jvnill但我讀這不是所有的瀏覽器兼容的,我想確保我整個兼容:)全路? – Datsik 2013-03-12 06:51:42
不確定。但爲了解決您的錯誤,您應該將附加數據附加到序列化屬性。如果我沒有記錯,dataString將是一個字符串,所以只需添加到_method像'dataString +「&_method = put'',只是把它傳遞給數據,如'數據:dataString' – jvnill 2013-03-12 07:00:09