我正在尝试发送一个jquery ajax PUT请求,如下所示:
$.ajax({
type: "PUT",
url: '/admin/pages/1.json',
data: { page : {...} },
dataType: 'json',
success: function(msg) {
alert( "Data Saved: " + msg );
}
});
但我得到以下错误:
The error occurred while evaluating nil.name
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:29:in `merge_element!'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:18:in `parse'
(__DELEGATION__):2:in `__send__'
(__DELEGATION__):2:in `parse'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/hash/conversions.rb:154:in `from_xml' ... ...
就像Rails试图将参数解析为XML一样,但我想使用JSON!!
我应该怎么做才能把JSON放到rails上?
发布于 2009-05-25 21:23:03
好吧,实际上我的JSON数据没有页面键,这是我的错误。这就是它不能正确解析的原因。但是现在我得到了"object Object“字符串作为页面键的值,而不是一个解析得很好的json对象。
我应该看哪里: JQuery还是Rails?
编辑:
我已经用下面的脚本解决了json对象字符串的问题: www.json.org/js.html:
$.ajax({
type: "PUT",
url: '/admin/pages/1.json',
data: { page : JSON.stringify( {...} ) },
dataType: 'json',
success: function(msg) {
alert( "Data Saved: " + msg );
}
});
在rails方面,必须使用json gem。在控制器中:
params[:page] = JSON.parse params[:page] if params[:page].is_a? String
发布于 2016-10-27 19:50:14
var id = $('#route_id').val()
$.ajax({
type: 'PUT',
url: '/routes/'+ id,
data: $('#markerform').serializeArray(),
dataType: "JSON",
success: function(data) {
console.log(data);
}
});
发布于 2009-12-07 21:00:37
我用jQuery/rails有一个类似的问题对象,但用的是HTML,而不是JSON。或许这能帮上忙-
[object Object]
的参数
data: { lesson: { date: drop_date } }
lesson[date]
的参数
data: { "lesson[date]": drop_date }
希望这能帮上忙-
https://stackoverflow.com/questions/907910
复制相似问题