1 ajax jquery asp.net-4.0 webmethod
在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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
在后面的代码中使用这个(default.aspx.cs):
[System.Web.Services.WebMethod]
public static string LoadNewsItems() {
return "test1";
}
Run Code Online (Sandbox Code Playgroud)
我在页面上有一个ScriptManagerMethods = true的ScriptManager.一切正常.
现在项目升级到ASP.NET 4.0并使用新的URL路由功能.AJAX调用不再起作用.在FireBug中,我看到它返回完整的页面,而不是XML响应.
ASP.NET 4中可能导致此错误的变化是什么?
固定,
更改
url: "default.aspx/LoadNewsItems",
Run Code Online (Sandbox Code Playgroud)
至
url: '<%= ResolveUrl("default.aspx/LoadNewsItems") %>',
Run Code Online (Sandbox Code Playgroud)
它与URL路由有关.