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路由有关。