jQuery 1.3.2, ASP.NET 2.0. Faire un appel AJAX vers un PageMethod (WebMethod) retourne la totalité du/de la page entière, au lieu de simplement la réponse. Un point d'arrêt sur la page de la méthode montre qu'il n'est jamais touché. J'ai l' [WebMethod] attribut sur ma méthode, et il est public static, renvoie la chaîne et n'accepte pas de paramètres. J'ai même essayé d'ajouter [ScriptService] en haut de ma classe pour voir si ça aide, mais il n'a pas.
J'ai vu ce post http://stackoverflow.com/questions/348689/jquery-ajax-with-asp-net-webmethod-returning-entire-page qui m'a même symptômes, mais je suis encore avoir un problème. J'ai lu http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/ et je sens que je suis en suivant cet T, mais toujours pas de chance.
Le jQuery appel, je suis en train de faire est:
jQuery.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{}',
dataType: 'json',
url: 'MyPage.aspx/SomePageMethod',
success: function(result){
alert(result);
}
});
La demande/en-têtes de réponse, comme par Firebug dans FF3, sont comme suit
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;
J'ai ajouté un ScriptManager à ma page, juste pour le plaisir, pour voir si ça aide, mais pas de chance là-bas.
Toutes les suggestions?