Je souhaite appeler un service Web à l'aide de jQuery.ajax() mais le service Web n'est pas appelé. - Si je change l'url: pour référencer un fichier .ashx, il est appelé mais pas .asmx?webservice n'est pas appelé par jQuery
Voici le code que je utilise:
jQuery.ajax({
type: "POST",
url: "/services/CheckUsername.asmx/CheckUsername", // this doesn't get called
//url: "/services/CheckUsername.ashx/ProcessRequest", this gets called
data: '{ "context": "' + "username" + '"}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
alert("Result: " + msg);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus)
}
Le fichier .ashx est appelé, mais un parsererror est retuned parce qu'il est de retour contexte http - comment puis-je modifier cela pour obtenir un type de retour de chaîne à partir d'un webservice ?
Merci,
Merci pour votre réponse, Elangovan. Je ne suis pas sûr où mettre [ScriptMethod] - voulez-vous dire l'ajouter au code webservice C# au-dessus de la méthode? Par exemple, [WebMethod] est au-dessus du nom de la méthode. – Theomax
J'ai utilisé le fil de discussion suivant comme référence: http://stackoverflow.com/questions/1791088/asp-net-scriptmethod-generating-empty-json et ajouté [ScriptMethod (ResponseFormat = ResponseFormat.Json)] mais VS ne le fait pas le reconnaître comme syntaxe correcte? – Theomax
Il devrait être ajouté comme [ScriptMethod] la syntaxe est correcte, mais renvoient l'espace de nom System.Web.Script.Services dans votre fichier asmx. – Elangovan