Jquery PageMethod返回整个页面

Jquery PageMethod返回整个页面,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,大家好,我们使用jquery发送ajax请求,但每次它都返回页面的内容。 我们使用的是.NETFramework版本2 $.ajax({ type: "POST", url: "ajaxPage.aspx/testMethod", data: "{test:'test'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { $("#span_res

大家好,我们使用jquery发送ajax请求,但每次它都返回页面的内容。 我们使用的是.NETFramework版本2

$.ajax({
type: "POST",
url: "ajaxPage.aspx/testMethod",
data: "{test:'test'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
    $("#span_result").html(result.d).fadeIn();
},
error: function (msg) {
     $("#span_result").hide();
}
}); 

//ajaxPage.aspx.cs
[System.Web.Services.WebMethod]
public static string testMethod(string test)
{
     return test;
}

你的web.config中有这个吗

<system.web>
  <httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </httpModules>
</system.web>

SP建议的ScriptModule可能是您缺少的

另一件事是您的数据参数无效。我认为这不会导致您现在看到的问题,但一旦您修复了当前问题,它可能会开始导致无效的JSON原语错误。将其更改为:

data: '{"test":"test"}'

键名必须始终带引号,JSON键和值周围的引号应该是双引号(尽管ASP.NET对后一点更宽容).

使用firefox的firebug或IE或Chrome中的开发控制台查看确切的请求和响应,应该会为您提供查找的线索。响应是服务器返回的页面源。此页面内容可能是自定义错误页面吗?我看不出你做的有什么明显的错误。看这个问题: