jquery ajax con asp.net no funciona

Estoy a punto de arrancar el rest del cabello que tengo, así que ayúdame si sabes cuál podría ser el problema … Gracias. Toda mi búsqueda y búsqueda de Google tampoco ha dado sus frutos.

Primero, estoy usando jquery-1.7.2.min.js y el formulario web ASP.net 2.0.

Estoy tratando de hacer una llamada ajax usando jquery pero sigo recibiendo mensajes de error de syntax error / parse. He intentado de muchas maneras diferentes, pero todas dan como resultado el error cuando configuro dataType en json.

Esto es lo que tengo:

$.ajax({ type: "POST", url: "UserList.aspx/GetTestJson", data: {}, //have also tried "{}" 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); } }); 

y el método de la página aspx:

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

También he intentado configurar un servicio web, pero obtengo el mismo resultado. Parece que la respuesta que regresa es el html completo para la página o el xml del servicio web y debido a que configuré el dataType a json no tuvo éxito en analizarlo. Si este es el caso, ¿cómo configuro la respuesta para que solo devuelva json?

Aquí hay algo más que he probado sin suerte:

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

Mensajes de error que recibo a través de 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) 

¿Alguna idea o sugerencia?

Gracias

Gracias a @DaveWard y @CodeRoller por su ayuda que condujo a esta solución:

  1. Instale las Extensiones Ajax de ASP.NET ( AQUÍ )
  2. Agregar referencia a System.Web.Extensions.dll
  3. Modifique web.config para incluir el módulo de script ScriptModule (ver más abajo)

Mi llamada jQuery ajax y WebMethod siguen siendo las mismas que las de mi publicación original.

Mi web.config ha sido modificado de la siguiente manera:

              

Espero que alguien más lo encuentre útil.