jquery ajax avec asp.net ne fonctionne pas

Je suis sur le sharepoint retirer tous les cheveux qui me restnt, alors aidez-moi s’il vous plaît si vous savez quel est le problème … Merci. Toutes mes recherches sur Google n’ont pas porté leurs fruits non plus.

Premièrement, j’utilise le formulaire Web jquery-1.7.2.min.js et ASP.net 2.0.

J’essaie de passer un appel ajax à l’aide de jQuery mais je continue à recevoir des messages d’erreur de syntaxe / d’parsing syntaxique. J’ai essayé de nombreuses manières différentes, mais elles entraînent toutes l’erreur lorsque je règle le type de données sur json.

Voici ce que j’ai

$.ajax({ type: "POST", url: "UserList.aspx/GetTestJson", data: {}, //have also sortinged "{}" and other options such as removing the line contentType: "application/json;charset=utf-8", dataType: "json", success: function(data, textStatus, jqXHR){ alert('success'); }, //Using below instead of above makes no difference either //success: function(data){ // alert('success'); //}, error: function(jqXHR, textStatus, errorThrown){ alert('errorThrown: ' + errorThrown); } }); 

et la méthode de la page aspx:

 [WebMethod] public static ssortingng GetTestJson() { return "Hello My World"; } 

J’ai aussi essayé de créer un service Web, mais j’obtiens le même résultat. Il semble que la réponse renvoyée est soit le code HTML complet de la page, soit le code XML du service Web, et comme je l’ai paramétré sur jTon, il n’a pas réussi à l’parsingr. Si tel est le cas, comment définir la réponse pour renvoyer uniquement JSON?

Voici quelque chose d’autre que j’ai essayé sans succès:

 [WebMethod] public static ssortingng GetTestJson() { HttpContext.Current.Response.ContentType = "application/json"; ssortingng json = JavaScriptConvert.SerializeObject("Hello My World"); return json; } 

Les messages d’erreur que je reçois via jQuery:

 errorThrown.message = "Syntax error" errorThrown.number = -2146827286 errorThrown.name = "SyntaxError" textStatus = "parseerror" jqXHR.status = 200 jqXHR.statusText = "OK" jqXHR.readyState = 4 jqXHR.responseText = (the complete html of the page) 

Des idées ou des suggestions?

Merci

Merci @DaveWard et @CodeRoller pour votre aide qui a conduit à cette solution:

  1. Installer les extensions ASP.NET Ajax ( ICI )
  2. Ajouter une référence à System.Web.Extensions.dll
  3. Modifier web.config pour inclure le scriptModule httpModule (voir ci-dessous)

Mon appel ajax jQuery et la méthode Web sont toujours identiques à ceux de mon message d’origine.

Mon web.config a été modifié comme suit:

              

J’espère que quelqu’un d’autre trouvera cela utile.