PageMethod返回整个页面

时间:2011-08-15 13:59:12

标签: jquery asp.net ajax

您好我们正在使用jquery发送ajax请求,但每次返回页面的内容。 我们使用的是.NET Framework第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;
}

2 个答案:

答案 0 :(得分:2)

你的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>

答案 1 :(得分:0)

SP建议的ScriptModule可能就是您所缺少的。

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

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

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