我一直在使用谷歌搜索,但我似乎无法得到正确的设置,通过我在谷歌上看到的东西我最终与此:如何通过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