在Jquery中处理302重定向

时间:2015-08-05 06:25:41

标签: jquery ajax backbone.js

我有骨干应用程序,如果用户丢失会话,我需要注意。当会话丢失时,服务器发送302(重定向到登录页面)。这在某些情况下有效,而在其他情况下却没有。

我发出了一个ajax请求,在确认会话的时间间隔内ping服务器。我已经阅读了有关SO的许多主题,例如one

并且它说,浏览器处理302。

我在这里很困惑。 这是我用来ping服务器的简单Ajax请求:

setInterval(function () {
        if(baseHref){
            $.ajax({
                type: 'GET',
                url: baseHref + "api/ping",
                success: function (data) {                        
                    if(data !== true){

                        window.location.href = baseHref + "login";
                    }
                },
                error: function (data) {

                }
            });
        }
    },5000);

在本地环境中,当会话丢失时,服务器发送302并且每次都成功结束,我可以根据它做出决定。 在开发环境(https://xxxxxx.com)中,我永远不会在任何承诺中结束,浏览器会覆盖它们。

一个解决方案是与服务器人交谈并让他们发送给我对象,而不是302.但在我提出要求之前,我想知道:

为什么它在localhost中有效?无论如何都不应该。

0 个答案:

没有答案