Firefox 和 chrome 的 CORS 错误

CORS error for firefox and chrome

本文关键字:CORS 错误 chrome Firefox      更新时间:2023-09-26

我在代码中遇到了关于CORS错误的问题,我运行的.js文件给出了chrome和Firefox的错误,但在IE上没有。有人建议我向其添加响应标头,但我很困惑在哪里添加它。请帮忙

xhr.open(method, url, true);

我尝试添加xhr.setRequestHeader("Access-Control-Allow-Origin:*");到它,这会起作用吗?

不要在客户端代码中添加 xhr.setRequestHeader("Access-Control-Allow-Origin:*")。

要允许跨域请求,服务器只需将 Access-Control-Allow-Origin 标头添加到响应中。

访问控制允许源

的值应该是要允许的请求的域名,如果允许任何源,则只是 *。

访问控制允许来源:http://domain1.com 或

访问控制允许来源: *

如果要调用 Web API 方法,请参阅以下测试的代码及其对其余 API 的工作。

客户端代码 Ajax 调用:

function CallAjax() {
    
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://localhost:54118/api/values", true);
xhr.onload = function () {
    console.log(xhr.responseText);
    alert("sucuess");
};
xhr.send();
}

服务器端更改:

在 Web API 项目中,必须在 Web.config 文件中添加以下配置。在 system.webServer 部分下添加以下内容

 <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*"/>
      </customHeaders>
    </httpProtocol>

这将允许任何域访问资源。

希望这将有所帮助:)