发生预检响应无效(重定向)错误

Posted

技术标签:

【中文标题】发生预检响应无效(重定向)错误【英文标题】:Response for preflight is invalid (redirect) error occur 【发布时间】:2018-02-13 04:16:37 【问题描述】:
 test4 = () => 

        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () 
            if (xhr.readyState == 4 && xhr.status == 200) 
                var xmlDoc1 = xhr.responseText;
                console.log("?", xmlDoc1)

        xhr.open("GET",'http://www.naver.com');
 xhr.open("Access-Control-Allow-Origin",'http://www.naver.com');
        xhr.send();
        
    

componentDidMount() 
this.test4()

错误 ==> XMLHttpRequest 无法加载 http://www.naver.com/。预检响应无效(重定向) 请帮帮我...

【问题讨论】:

【参考方案1】:

这里有一些问题。不过,主要是CORS 阻止您对 www.naver.com 进行 XHR。除非你有办法告诉www.naver.com 允许你发出这些类型的请求,否则你不能从浏览器客户端发出。

首先,.open 方法不用于向请求添加标头。其次,Access-Control-Allow-Origin 是响应头而不是请求头。客户端能够向服务器声明允许的访问控制几乎没有意义。参考:MDN

【讨论】:

以上是关于发生预检响应无效(重定向)错误的主要内容,如果未能解决你的问题,请参考以下文章

对于 aws s3,预检响应无效(重定向)

cors - 预检响应无效(重定向) - redux

Angular 2无法加载预检响应无效(重定向)[重复]

某些 GET 请求对预检的 Angular2 响应无效(重定向)

AngularJs - 服务器抛出异常''XMLHttpRequest 无法加载预检的“URL”响应无效(重定向)'

为啥我的 $.ajax 显示“预检无效重定向错误”?