Access to XMLHttpRequest at 'http://localhost:8080/WebGL/hualonglijiao.unity3d' from origin 'http://172.30.196.192:5222' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2023-07-24 09:45:21 浏览: 1919
这个错误是由于浏览器的同源策略所导致的。浏览器为了保护用户的安全,限制了从一个源加载的网页或脚本如何与另一个源的资源进行交互。在这个错误中,你的浏览器试图从一个源(172.30.196.192:5222)加载一个资源(http://localhost:8080/WebGL/hualonglijiao.unity3d),但是该资源的响应头中没有包含“Access-Control-Allow-Origin”字段,因此浏览器会拒绝加载该资源。解决这个问题的方法是在服务器端设置响应头,添加“Access-Control-Allow-Origin”字段并指定允许访问的域名或IP地址。
相关问题
Unity UnityWebRequestAssetBundle 报错 Access to XMLHttpRequest at 'http://localhost:8080/WebGL/hualonglijiao.unity3d' from origin 'http://172.30.196.192:5222' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个错误提示表明你的Unity Web请求试图从一个不同的域名或端口请求资源,而目标服务器没有设置正确的CORS(跨域资源共享)头部。你需要在你的服务器端设置正确的CORS头部,以允许UnityWebRequest从你的WebGL应用请求资源。你可以在服务器端的响应头中设置Access-Control-Allow-Origin头部,将其设置为Unity WebGL应用所在的域名和端口。例如在Node.js中可以使用以下代码设置CORS头部:
```
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://172.30.196.192:5222");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
```
其中`http://172.30.196.192:5222`是Unity WebGL应用所在的域名和端口。
Access to XMLHttpRequest at 'http://localhost:8081/api/login' from origin 'http://localhost:8080'
根据提供的引用内容,你可以通过以下两种方式解决"Access to XMLHttpRequest at 'http://localhost:8081/api/login' from origin 'http://localhost:8080'?"的问题:
1. 在PHP中添加跨域配置:
```php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, DELETE");
header("Access-Control-Allow-Headers: DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Accept-Language,Origin,Accept-Encoding,token");
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
exit();
}
```
2. 在Spring Boot中添加跨域配置:
```java
@Configuration
public class AccessControlAllowOriginFilter implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/*/**")
.allowedHeaders("*")
.allowedMethods("*")
.maxAge(1800)
.allowedOrigins("*");
}
}
```
这两种方式都是通过设置响应头来允许跨域请求。第一种方式是在PHP中添加相应的header头,第二种方式是在Spring Boot中添加一个过滤器类来配置跨域请求。