📌  相关文章
📜  CORS 策略已阻止从源 '' 访问 '' 处的 XMLHttpRequest:-无论(1)

📅  最后修改于: 2023-12-03 15:14:15.519000             🧑  作者: Mango

CORS策略阻止XMLHttpRequest

当使用XMLHttpRequest进行跨域请求时,浏览器会通过CORS策略来检查请求是否被允许。如果不被允许,则会抛出如下错误:

Access to XMLHttpRequest at '请求地址' from origin '来源地址' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

错误提示中的Access-Control-Allow-Origin是CORS中的重要字段,它指定了哪些来源地址可以访问资源。如果服务端没有设置相应的headers,浏览器就会拒绝相关的跨域请求。

问题解决方案

要解决这个问题,有以下几种方法:

  1. 在服务端设置响应头

可以通过设置响应头,使服务端支持跨域请求。具体来说,就是在服务端的HTTP响应中添加如下字段:

Access-Control-Allow-Origin: *

以上设置会允许来自任何来源的跨域请求,但不建议在生产环境中使用这种方式。更好的方式是根据实际情况,限制只允许某些来源的跨域请求。

  1. 使用代理

在请求存在跨域问题时,可以通过代理机制,让客户端向自己的服务器发起请求,再由服务器代理转发请求到目标服务器。这样既可以绕过浏览器的跨域限制,还可以对代理请求做一些中间层处理。

  1. JSONP

JSONP是一种跨域解决方案,它利用了