has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 问题解决
时间: 2023-08-25 21:11:24 浏览: 38
这个问题通常是由于浏览器的同源策略(Same-Origin Policy)导致的。同源策略要求网页只能访问与其来源相同的资源,而不允许跨域访问。
要解决这个问题,您可以考虑以下几种方法:
1. 添加CORS头:在服务器端的响应中添加"Access-Control-Allow-Origin"头,允许特定的域名或通配符"*"进行跨域访问。例如,可以在响应中添加以下头信息:
```
Access-Control-Allow-Origin: *
```
这将允许任何域名进行跨域访问。请注意,使用通配符可能会存在安全风险,因此最好限制允许的域名。
2. 使用代理服务器:在您的应用程序后面设置一个代理服务器,该代理服务器可以将请求发送到目标服务器并返回响应。由于代理服务器与目标服务器在同一个域,所以不会受到同源策略的限制。
3. JSONP:如果您只需要获取数据而不是进行完整的跨域请求,您可以考虑使用JSONP(JSON with Padding)技术。JSONP通过动态创建`<script>`标签来获取数据,并将其封装在一个回调函数中返回。
请根据您的具体情况选择适合您的解决方案,并根据需要进行相应的配置。如果您需要更详细的帮助,请提供更多关于您的应用程序和目标服务器的信息,我将尽力提供更准确的指导。
相关问题
has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource.
这个错误信息说明在发送请求时,服务器返回的响应头中没有包含Access-Control-Allow-Origin字段,导致浏览器拒绝接受该响应。这是由于跨域访问(Cross-Origin Resource Sharing,CORS)的限制所引起的。
为了解决这个问题,可以添加一个名为CorsConfig的配置类,其中配置了允许跨域访问的规则。具体做法是使用addCorsMappings方法将允许跨域访问的规则添加到CorsRegistry中,可以设置allowedOriginPatterns为"*",表示允许来自所有域的请求;allowedHeaders设置为CorsConfiguration.ALL,表示允许所有请求头;allowedMethods设置为CorsConfiguration.ALL,表示允许所有请求方法;allowCredentials设置为true,表示允许发送身份验证信息;maxAge设置为3600,表示设置响应缓存的最大时间。通过这个配置类,服务器会在响应头中添加Access-Control-Allow-Origin字段,从而允许跨域访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the ...](https://blog.csdn.net/qq_45800640/article/details/118422632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [corsyusha:简单快速的代理,可在针对现有API进行原型设计时绕过CORS问题,而不必担心CORS](https://download.csdn.net/download/weixin_42176612/18261495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [解决前后端跨域报错:has been blocked by CORS policy: No ‘Access-Control-Allow-Origin](https://blog.csdn.net/wsaicyj/article/details/127814374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
"has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource" 是一个常见的错误信息,它表示浏览器在发送跨域请求时遇到了跨域资源共享(CORS)策略的限制。CORS是一种安全机制,用于防止恶意网站访问其他域的资源。当浏览器发现请求的资源与当前页面的来源不一致时,就会出现这个错误。
要解决这个问题,有几种方法可以尝试:
1. 在请求的资源服务器上添加相应的CORS头部。在响应头中添加"Access-Control-Allow-Origin"字段,并设置为允许访问的域名,例如"*"表示允许来自所有域名的请求访问资源。这样浏览器就会识别到允许跨域访问。
2. 如果你没有对资源服务器的控制权,可以使用代理服务器来解决跨域问题。将跨域请求发送到代理服务器上,代理服务器再将请求发送到资源服务器,并将响应返回给浏览器。这样浏览器认为请求是同域的,就不会出现CORS错误。
3. 如果你只是在开发环境中遇到这个问题,可以尝试使用浏览器插件或者命令行参数来禁用浏览器的CORS策略。请注意,这种方法只适用于开发环境,不建议在生产环境中使用。
总之,"has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource" 这个错误表示浏览器在跨域请求中遇到了CORS策略的限制。通过添加CORS头部、使用代理服务器或者禁用浏览器的CORS策略,<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [接口支持跨域 has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on](https://blog.csdn.net/xysxlgq/article/details/126286552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [“has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on th](https://blog.csdn.net/m0_50671318/article/details/119821838)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the ...](https://blog.csdn.net/qq_45800640/article/details/118422632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)