首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >阻止Xmlhttprequest的重定向

阻止Xmlhttprequest的重定向
EN

Stack Overflow用户
提问于 2008-10-23 01:40:20
回答 4查看 73.1K关注 0票数 122

是否有可能阻止浏览器在发送XMLHttpRequest-s时遵循重定向(即获取重定向状态代码并自行处理)?

EN

回答 4

Stack Overflow用户

发布于 2008-10-23 07:45:04

不,你,在XMLHttpRequest公开的应用程序接口中,没有任何地方允许你覆盖它的默认行为,即自动遵循301或302。

如果客户端在windows上运行IE,那么您可以使用WinHTTP来设置一个选项来防止这种行为,但这是一个非常有限的解决方案。

票数 12
EN

Stack Overflow用户

发布于 2015-02-09 21:44:32

您可以使用responseURL属性获取重定向目标,或检查响应是否最终从您接受的位置获取。

当然,这意味着无论如何都会获取结果,但至少您可以获得有关重定向目的地的必要信息,例如当您想要丢弃响应时检测条件。

票数 12
EN

Stack Overflow用户

发布于 2020-10-07 03:18:00

不可能在客户端处理重定向或302状态,如其他评论中所回答的那样。但是,您可以阻止重定向。为此,您可以使用"XMLHttpRequest“xhttp.setRequestHeader( "X-Requested- with”,“XMLHttpRequest”)设置请求头“X-Requested-With”;这应该在open之后但在send之前完成。下面的例子

代码语言:javascript
复制
let xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
   if (this.readyState == 4 && this.status == 200) {
         reqObj.success(JSON.parse(this.responseText))
   } else if (this.status != 200) {
         reqObj.error(this.statusText)
   }
};
xhttp.open(reqObj.type, reqObj.url, reqObj.async);
xhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhttp.send();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/228225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档