1

在 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 中发生了什么变化?

4

1 回答 1

9

固定的,

改变

url: "default.aspx/LoadNewsItems",

url: '<%= ResolveUrl("default.aspx/LoadNewsItems") %>',

它与 URL 路由有关。

于 2010-11-08T20:50:12.403 回答