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