Javascript 为什么AJAX调用有时会重定向页面?
我有一个包含3个iframe的页面,顶部标题、左侧导航和内容iframe (这是一个遗留应用程序) 包含3个iFrame的页面对页面进行jQuery AJAX调用:Javascript 为什么AJAX调用有时会重定向页面?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个包含3个iframe的页面,顶部标题、左侧导航和内容iframe (这是一个遗留应用程序) 包含3个iFrame的页面对页面进行jQuery AJAX调用: /users/getNotifications.aspx 有时(我相信在我未登录时),浏览器会重定向到我的AJAX调用的URL,即localhost/users/getNotifications.aspx 我显然不希望它像这样重定向,知道为什么会发生这种情况吗 注: 我的页面回复为: Response.ContentType =
/users/getNotifications.aspx
有时(我相信在我未登录时),浏览器会重定向到我的AJAX调用的URL,即localhost/users/getNotifications.aspx
我显然不希望它像这样重定向,知道为什么会发生这种情况吗
注:
我的页面回复为:
Response.ContentType = "text/html";
Response.Write(resultInHtml);
此外,如果用户未登录,页面不会重定向
这是我调用的使用ajax请求获取数据的方法:
var x = function () {
$.ajax({
type: "GET",
url: webRoot + "users/getNotifications.aspx",
cache: false,
success: function (payload) {
if (payload.length > 0) {
$("#users-popup").html(payload);
}
displayPopup();
}
});
}
问题很可能是javascript无法很好地处理未登录时从页面返回的任何结果。它可能试图提取一个在此上下文中不存在的值,因此抛出一个错误 这意味着它没有完成函数的运行,因此任何“return false”或其他防止默认行为的方法都没有运行,因此默认的单击行为正在发生并导航到新页面
没有更多的代码,尽管这只是一个理论。如果您授权使用登录或其他方式重定向该页面,它将不会简单地移动,请检查IsAuthenticated然后重定向您的页面加载页面时会调用ajax请求,它不基于任何事件(页面就绪事件除外)。也许你应该像其他Chris在评论中建议的那样向我们展示更多的代码,这样我们就可以看到哪些代码出错了,也许可以帮助你找出原因。有一些关于提出好问题的好提示。