107 messaggi dal 08 febbraio 2007
Ho' recentemente aggiornato il mio Visual Studio con l'ultimo 2013 PRO,

Ho provato a caricare un mio progetto in MVC 4 con alcuni Web Services,

ma questi non funzionano piu'.

La chiamata la faccio cosi :

$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: '/UserInfo.asmx/GetUserInfo',
data: "{ 'names' : " + "'" + names + "'" + "}",
success: function (data) {
// alert(data.d.Email);
}
});

PS: tutto il progetto funziona correttamente tranne queste chiamate.

Come mai ?
16 messaggi dal 13 maggio 2013
Ho qualche dubbio sull'impostazione dell'url. Prova ad utilizzare Url.Action()
75 messaggi dal 24 agosto 2006
"mtugnoli" <mtugnoli> ha scritto nel messaggio news:400847@...
Ho' recentemente aggiornato il mio Visual Studio con l'ultimo 2013 PRO, Ho provato a caricare un mio progetto in MVC 4 con alcuni Web Services, ma questi non funzionano piu'.
La chiamata la faccio cosi :
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: '/UserInfo.asmx/GetUserInfo',
data: "{ 'names' : " + "'" + names + "'" + "}",
success: function (data) {
// alert(data.d.Email);
}
});
PS: tutto il progetto funziona correttamente tranne queste chiamate. Come mai ?

Prova a fare così:


var param = {};
param.names = names;

$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: '/UserInfo.asmx/GetUserInfo',
data: JSON.stringify(param),
success: function (data) {
// alert(data.d.Email);
},
error: function (jqXHR, textStatus, errorThrown) {
//alert(errorThrown);
}
});

Metti un breackpoint in corrispondenza di alert(errorThrown); ed ispeziona i parametri della funzione di errore.
Qui dovresti trovare il motivo per cui non funziona la chiamata al ws.
Ricorda che nel tuo webservice vi devono essere queste righe:
' Per consentire la chiamata di questo servizio Web dallo script utilizzando ASP.NET AJAX, rimuovere il commento dalla riga seguente.
<System.Web.Script.Services.ScriptService()>
<System.Web.Services.WebService(Namespace:="http://tuodominio.org/")> <System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> <ToolboxItem(False)>

e che ogni web service va decorato con:
<WebMethod>

Serializza i dati di ritorno con Serialization.JavaScriptSerializer

Banalmente a me capita quando il nome di uno dei parametri del ws è scritto diverso (attenzione a maiuscole e minuscole) o manca.
Inoltre utilizzo un oggetto (param) per inviare al ws i parametri. Trovo che sia più leggibile e semplice da popolare soprattutto quando devi inviare tanti parametri.

Buon lavoro
Pino Saffioti

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.