TROVATO L'INGHIPOOOOOOOOOOOOOOOOOO
purtroppo non sono molto pratico di JQuery.Ajax, quindi non sapevo bene come configurare la chiamata. Ora ti spiego:
Ci deve essere una corrispondenza precisa tra i dati passati, ed i parametri del metodo lato server.
Nel tuo test hai un metodo senza parametri, quindi devi configurare la chiamata Ajax correggendo questa riga:
data: "",
devi cioè togliere semplicemente le parentesi graffe.
Nel caso tu debba passare dei dati, ipotiziamo un salva(string input), devi trasformare in questo modo:
data: "{'input':'datiDiIngresso'}",
la stringa "datiDiIngresso" è quella passata alla funzione
altro cosa importante è il dataType. Teoricamente, come scritto sul manuale, si può variare, ma io ho fatto diverse prove, funziona solo con l'originale:
contentType: "application/json; charset=utf-8",
dataType: "json",
questo comporta anche che bisogna rimettere il messaggio di ritorno come era in origine:
success: function(msg) { alert(msg.d); }
ecco il codice tutto assieme:
jQuery('#dialog').dialog({
autoOpen: true,
width: 650,
height: 450,
buttons: {
"Conferma": function ()
{
jQuery.ajax({
type: "POST",
url: "jQueryAjaxPageMethod.aspx/salva",
data: "{'input':'datiDiIngresso'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg)
{
alert("Messaggio\n\n" + msg);
jQuery('#dialog').dialog("close");
},
error: function (err)
{
alert(err.statusText);
}
});
},
"Annulla": function ()
{
jQuery(this).dialog("close");
}
}
});
Dopo questa faticaccia, me ne vado a casina con 1 ora di ritardo.... e son mazzate!!!!!
ciao ciao buon lavoro
____________
http://glucolo.wordpress.com
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.