报错from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2024-05-17 18:11:01 浏览: 167
这个错误通常出现在使用Ajax或Fetch等方式请求跨域资源时,由于浏览器的同源策略限制,导致请求被拒绝。解决这个问题的方法通常有以下几种:
1. 在服务端设置响应头中添加Access-Control-Allow-Origin字段,允许指定的域名访问资源;
2. 使用JSONP跨域请求数据;
3. 代理请求,即在服务端进行跨域请求,并将结果返回给前端;
4. 使用CORS插件或其他工具来解决跨域问题。
相关问题
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 ]
from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个错误是由于浏览器的安全策略所引起的。当一个网页在浏览器中请求一个跨域资源时,浏览器会发送一个跨域请求,如果服务器没有正确配置CORS(跨域资源共享)策略,就会出现这个错误。
在服务器端配置CORS策略可以通过在响应头中添加"Access-Control-Allow-Origin"字段来解决。这个字段指定了允许访问该资源的域名。如果你是开发者,你可以在服务器端的响应头中添加以下内容来允许所有域名访问该资源:
```
Access-Control-Allow-Origin: *
```
这样就会允许所有域名访问该资源。如果你只想允许特定的域名访问该资源,可以将"*"替换为相应的域名,例如:
```
Access-Control-Allow-Origin: https://www.example.com
```
这样只有https://www.example.com域名可以访问该资源。
请注意,这个配置需要在服务器端进行,如果你只是访问别人的网站,你无法直接解决这个问题。你可以联系网站的管理员或开发者来解决这个问题。
阅读全文