为什么AJAX调用有时会重定向页面?

时间:2012-09-07 13:27:44

标签: javascript jquery asp.net

我的网页包含3个iframe,顶部标题,左侧导航和内容iframe。

(这是遗留应用程序)。

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

/users/getNotifications.aspx

有时(我相信当我没有登录时)浏览器会重定向到我的AJAX调用的URL,即localhost / users / getNotifications.aspx

我显然不希望它像这样重定向,任何想法为什么会发生这种情况?

注意:

我的页面回复:

 Response.ContentType = "text/html";
 Response.Write(resultInHtml);

此外,如果用户未登录,则页面不会重定向。

这是我使用ajax requesT来获取数据的方法:

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();                
            }
        });
    }

1 个答案:

答案 0 :(得分:0)

问题可能是你的javascript在你没有登录时不能很好地处理从你的页面返回的任何结果。可能它试图提取一个在这个上下文中不存在的值,从而抛出一个错误。

这将意味着它没有完成运行该函数,因此任何“return false”或其他防止默认行为的方法都没有运行,因此默认点击行为正在发生并导航到新页面。

没有更多代码,虽然这只是一种理论。