Ho il seguente ma non funziona, ho letto da qualche parte sullo stackoverflow che funziona così ma non riesco a farlo funzionare .. errori ... sto facendo qualcosa di sbagliato?Passare js oggetto come json a jquery?
Se faccio passare i dati come questo - funziona - quindi so che il mio servizio sta funzionando
//THIS WORKS
data: "{one : 'test',two: 'test2' }"
// BUT SETTING UP OBJECT doesn't work..
var saveData = {};
saveData.one = "test";
saveData.two = "tes2";
$.ajax({
type: "POST",
url: "MyService.aspx/GetDate",
data: saveData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg.d);
},
error: function(msg) {
alert('error');
}
});
Qual è l'errore? – cgp
Come notato nella risposta di Matt Winckler, il problema non si trova nella gestione di jQuery dell'oggetto che gli viene dato (fa la cosa prevista) - ma apparentemente i servizi .NET si aspettano che il JSON sia una stringa che può analizzare sul lato server . Includere una libreria per il rigoroso scopo di stringificare l'oggetto è mooolto inutile in questo caso. –
Non c'è molto danno nell'includere il ~ 2kb (prima di gzip) json2.js nel pacchetto di JavaScript incluso. Il supporto nativo del browser che arriva in browser come Firefox 3.5 imita anche i metodi di json2.js, quindi l'utilizzo della sua API è una buona pratica per il futuro. –