我正在尝试发送如下所示的 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 中?
最佳答案
并非所有浏览器都支持 PUT 和 DELETE,RubyOnRails 支持在您的数据中传递一个名为 _method 的额外参数,该参数将指示 RoR 将如何处理请求。
$.ajax({
type: "POST",
url: '/admin/pages/1.json',
data: { _method:'PUT', page : {...} },
dataType: 'json',
success: function(msg) {
alert( "Data Saved: " + msg );
}
});
https://stackoverflow.com/questions/907910/