Javascript 为什么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 =

我有一个包含3个iframe的页面,顶部标题、左侧导航和内容iframe

(这是一个遗留应用程序)

包含3个iFrame的页面对页面进行jQuery AJAX调用:

/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在评论中建议的那样向我们展示更多的代码,这样我们就可以看到哪些代码出错了,也许可以帮助你找出原因。有一些关于提出好问题的好提示。