区分危险的重定向和不相关的ajax响应

时间:2013-04-25 10:39:53

标签: javascript ajax http redirect

在我的网页上,可以发送ajax请求,然后跳转到另一个页面,这意味着AJAX请求无关紧要并被浏览器中止。从这些jquery AJAX请求之一返回到错误处理可能是:

readyState = 0
responseText: ""
status=0

但是,请注意,甚至可能无法调用错误处理程序。这取决于浏览器何时中止请求以及用户何时选择转到另一页面。如果调用它,则使用上述参数调用它。

这是多汁的地方。当位置设置为另一个域时,从AJAX请求返回302重定向时,会发生类似的响应。浏览器(IE和FF)破坏302并使用相同的信息调用错误处理程序:

readyState = 0
responseText: ""
status=0

我知道它是302使用fiddler将位置设置为另一个域。但是把小提琴带走了,你看到的就是上面。

我需要能够区分

  • 由于用户转到另一个页面而被中止的ajax请求
  • ajax请求因为重定向到另一个而被中止 域

但如果我得到两者完全相同的信息,我就不能。

任何提示?我可以检查一个窗口对象或DOM中的其他东西吗?注意:我无法预测请求何时返回302.我也看不到location header服务器端。

0 个答案:

没有答案