Sto cercando di inviare una richiesta PUT jquery ajax che assomiglia a questo:Come faccio a mettere i dati a Rails utilizzando jQuery
$.ajax({
type: "PUT",
url: '/admin/pages/1.json',
data: { page : {...} },
dataType: 'json',
success: function(msg) {
alert("Data Saved: " + msg);
}
});
ma ottengo il seguente errore:
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' ... ...
è come Rails sta cercando di analizzare i parametri come XML, ma voglio usare JSON !!
Cosa devo fare per mettere JSON su rotaie?
che non sembra essere il problema qui (e fare qualsiasi browser web moderno davvero manca il supporto per PUT?). Il server/sta/sta ricevendo i dati, solo che non li analizza nel modo giusto. –
sì la maggior parte dei browser manca PUT e DELETE, solo GET e POST. Il server potrebbe ricevere i dati sull'azione sbagliata, ad es. se è un POST, normalmente si assocerà all'azione Crea e un PUT si assocerà all'azione Aggiorna. – Kris
http://annevankesteren.nl/2007/10/http-method-support mi avrebbe fatto credere diversamente (cioè che molti browser effettivamente supportano PUT e DELETE). – mogsie