Próbuję wysłać żądanie PUT jquery ajax, który wygląda tak:Jak umieścić dane do szyn za pomocą jQuery
$.ajax({
type: "PUT",
url: '/admin/pages/1.json',
data: { page : {...} },
dataType: 'json',
success: function(msg) {
alert("Data Saved: " + msg);
}
});
ale pojawia się następujący błąd:
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' ... ...
jest jak Railsy próbują parsować parametry jako XML, ale chcę użyć JSON !!
Co należy zrobić, aby umieścić JSON na szynach?
To nie wydaje się być problem tutaj (i zrobić jakieś nowoczesnych przeglądarek internetowych naprawdę brakuje wsparcia dla PUT?). Serwer/otrzymuje/odbiera dane, po prostu nie parsuje go we właściwy sposób. –
tak większości przeglądarek brakuje PUT i DELETE, tylko GET i POST. Serwer może pobierać dane o niewłaściwej akcji, np. jeśli jest to POST, to zwykle mapuje się do akcji Create, a PUT mapuje do akcji Update. – Kris
http://annevankesteren.nl/2007/10/http-method-support mógłby mnie przekonać, że jest inaczej (tzn. Że wiele przeglądarek faktycznie obsługuje PUT i DELETE). – mogsie