Mootools:如果ajax请求返回重定向代码,如何重定向?

时间:2011-10-23 15:21:42

标签: ajax redirect mootools

如果请求返回302或303,我需要重定向用户。似乎没有标准的方法来执行此操作(奇怪的是,我认为这是一项非常常见的任务)。

我有这段代码:

var request = new Request({
        url: "/some-url/",
        method: 'get',
        evalScripts: true,
        onComplete: function(){
            console.log(this.status);
        }
    });

控制台打印0状态,但是Web检查器显示状态代码为302 Found,因此我无法手动检查代码并重定向。谁知道我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:3)

通常,对301/302/303等的ajax请求将遵循新的location并按照规范重新发出请求。如果你没有看到第二个请求,那就是错误的,比如无限循环或类似的......

更多信息:http://dev.w3.org/2006/webapi/XMLHttpRequest/#infrastructure-for-the-send-method

答案 1 :(得分:2)

我尝试了两种情况(302和303),它遵循规范:用户代理自动重定向到url,在 Location:响应标头中指定。所以,最后console.log(this.status)确实返回200,但不用担心,因为重定向是由浏览器自动处理的(至少在FF和Chrome中)。

这是firebug控制台:

firebug console