为了账号安全,请及时绑定邮箱和手机立即绑定

请问返回重定向作为对XHR请求的响应

/ 猿问

请问返回重定向作为对XHR请求的响应

慕姐8265434 2019-09-02 12:04:04

返回重定向作为对XHR请求的响应

如果浏览器收到对ajax请求的重定向响应会发生什么?


查看完整描述

2 回答

?
慕瓜9086354

如果浏览器收到对ajax请求的重定向响应会发生什么?

如果服务器发送重定向(也称为302响应加上Location:标头),则浏览器会自动遵循重定向。对第二个请求的响应(假设它也不是另一个重定向)是您的程序所接受的。

实际上,您无法检测302响应是否已发生。如果302重定向导致200,那么您的程序的行为与原始请求直接导致200的行为完全相同。

这既是我的经验,也是规范中提到的行为。

时间已经过去了,好消息是新的fetch()API被指定为处理重定向的方式提供更细粒度的控制,默认行为类似于XHR。也就是说,它只适用于本机实现fetch()的地方。polyfill版本的fetch() - 基于XHR- 继续具有XHR的限制。幸运的是,本机浏览器支持似乎很好地完善了。



查看完整回答
反对 回复 2019-09-09
?
慕丝7291255

ajax-request将跟踪该重定向AFAIK。实际内容(.responseText.responseXML)将是您重定向到的页面中的内容。

您可能能够拦截2或3 上的重定向(status-codelocation-headerreadyState,但不确定它。


查看完整回答
反对 回复 2019-09-09

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信