jQuery 1.3.2, ASP.NET 2.0. Hacer una llamada AJAX a PageMethod (WebMethod) devuelve la página completa/completa en lugar de solo la respuesta. Un punto de corte en el método de la página muestra que nunca se golpea. Tengo el atributo [WebMethod] en mi método, y es public static, devuelve string y no acepta parámetros. Incluso traté de agregar [ScriptService] en la parte superior de mi clase para ver si me ayudó, pero no fue así.Llamar ASP.NET PageMethod/WebMethod con jQuery - devuelve toda la página
He visto este post Jquery AJAX with ASP.NET WebMethod Returning Entire Page que tenía mis mismos síntomas, pero sigo teniendo un problema. Leí http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/ y siento que estoy siguiendo esto a la T, pero todavía no tuve suerte.
La llamada jQuery que estoy haciendo es:
jQuery.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{}',
dataType: 'json',
url: 'MyPage.aspx/SomePageMethod',
success: function(result){
alert(result);
}
});
Las cabeceras de petición/respuesta, según Firebug en FF3, son los siguientes
Response Headers
Server ASP.NET Development Server/8.0.0.0
Date Tue, 24 Feb 2009 18:58:27 GMT
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length 108558
Connection Close
Request Headers
Host localhost:2624
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept application/json, text/javascript, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Content-Type application/json; charset=utf-8
X-Requested-With XMLHttpRequest
Referer http://localhost:2624/MyApp/MyPage.aspx
Content-Length 2
Cookie ASP.NET_SessionId=g1idhx55b5awyi55fvorj055;
He añadido un ScriptManager a mi página solo para ver si ayudó, pero no hubo suerte allí.
¿Alguna sugerencia?
Dangit! Sabía que iba a ser algo fácil. Supongo que asumí que cualquier configuración que se necesitaría habría sido manejada por VS cuando dejé caer un ScriptManager (que era la razón por la que lo agregué, porque sabía que no * lo necesitabas * ¡Gracias! – Matt
He estado investigando esto problema durante una hora + y web.config y el ScriptModule httpModule terminó siendo el culpable. ¡Gracias! –
Hola Dave. Per @Surya, ese enlace ya no parece funcionar. – Matt