关于XMLHttpRequest对302的处理

摘自: http://hi.baidu.com/erik168/item/41a5910c1eca0627a0312dd8

【未亲自测试,请斟酌参考】

javascript代码:

302local.php:
header(“Location:hello.php”);

302net.php:
header(“Location:http://www.baidu.com”);

测试浏览器:
IE7
Firefox3.5
Opera9.6
Safari4

结论:
1.在重定向到本域时,无论如何都无法获得302状态码,XMLHttpRequest对象会直接读取重定向资源的内容

Fx3.5 alert:
status:200;readyState:2
status:200;readyState:3
status:200;readyState:4

IE7 alert:
status:200;readyState:4

Safari4 alert:
status:200;readyState:2
status:200;readyState:3
status:200;readyState:4

Opera9.6 alert:
status:200;readyState:3
status:200;readyState:4

2.在重定向到其他域时:
Safari和Opera会哑掉
IE会问你“可能导致安全风险,是否继续”,是的话取得status是200,否的话取得status是0
Firefox会获得302的status

Fx3.5 alert:
status:302;readyState:2
status:302;readyState:4

IE7 alert:
status:200;readyState:4
or
status:0;readyState:4

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据