我正在使用 AJAX 和 ASP.NET Web 方法加载一些内容。以下是 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();
}
代码工作正常,直到我启用 URL 重写并将包含页面的 Web 方法的规则(即 TopicList.aspx
)更改为 ContentViewer/{view}
。
现在 AJAX 不会调用 Web 方法。
请帮忙!
最佳答案
这是一个盲目的尝试,因为您没有包含任何错误的详细信息。尝试更改您的网址 来自:
url: "TopicList.aspx/LoadTopicRow",
至
url: "TopicList/LoadTopicRow",
关于c# - 启用 URL 重新路由后 Ajax 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20274587/