在 ASP.NET 3.5 中,我在页面上有这个 javascript (default.aspx):
function getMoreNewsItems() {
$.ajax({
type: "POST",
url: "default.aspx/LoadNewsItems",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
}
在后面的代码中使用这个(default.aspx.cs):
[System.Web.Services.WebMethod]
public static string LoadNewsItems() {
return "test1";
}
我在 EnablePageMethods=true 的页面上有一个 ScriptManager。一切正常。
现在项目升级到 ASP.NET 4.0 并使用新的 url 路由功能。AJAX 调用不再起作用。在 FireBug 中,我看到它返回完整页面,而不是 XML 响应。
可能导致此错误的 ASP.NET 4 中发生了什么变化?