启用URL重新路由后,Ajax停止工作

时间:2013-11-28 20:54:19

标签: c# javascript jquery asp.net ajax

我正在使用AJAX和ASP.NET网络方法加载一些内容。以下是Ajax的代码:

var pageIndex = 1;
var pageCount;

$(window).scroll(function () {
    if ($(window).scrollTop() == $(document).height() - $(window).height()) {
        GetRecords();
    }
});
function GetRecords() {
    pageIndex++;
    if (pageIndex == 2 || pageIndex <= pageCount) {
        $("#loader").show();
        $.ajax({
            type: "POST",
            url: "TopicList.aspx/GetTopics",
            data: '{pageIndex: ' + pageIndex + '}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert(response.d);
            },
            error: function (response) {
                alert(response.d);
            }

        }
        );

    }
}
function OnSuccess(response) {
    var xmlDoc = $.parseXML(response.d);
    var xml = $(xmlDoc);
    pageCount = parseInt(xml.find("PageCount").eq(0).find("PageCount").text());
    var topics = xml.find("Topics");

    topics.each(function () {
        var table = $("#dvTopics table").eq(0).clone(true);

        var topic = $(this);
        $.ajax({
            type: "POST",
            url: "TopicList.aspx/LoadTopicRow",
            data: "{message: '" + topic.find("desid").text() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (r) {
                table.append(r.d);
            }
        });
        $("#dvTopics").append(table);

    });

    $("#loader").hide();
}

代码工作正常,直到我启用了网址重写并将包含网页的网页方法(即TopicList.aspx)的规则更改为ContentViewer/{view}

现在,AJAX没有调用web方法。

请帮忙!

1 个答案:

答案 0 :(得分:0)

因为你没有包含任何错误的细节,所以在黑暗中打了一枪。尝试更改您的网址 从:

url: "TopicList.aspx/LoadTopicRow",

url: "TopicList/LoadTopicRow",