Access to XMLHttpRequest at 'http://127.0.0.1/test1/php/content.php' from origin 'http://localhost:63342' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2024-04-26 10:25:24 浏览: 14
这是一个 CORS(跨源资源共享)错误,通常出现在前端网页通过 AJAX 调用后端接口时。这个错误表示后端接口没有设置正确的 CORS 响应头,导致浏览器阻止了跨域访问。要解决这个问题,需要在后端接口中设置正确的响应头。具体地说,需要设置 `Access-Control-Allow-Origin` 头,允许访问的来源地址。可以在后端代码中添加以下代码实现:
```
header('Access-Control-Allow-Origin: http://localhost:63342');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
```
其中 `http://localhost:63342` 是允许访问的来源地址,可以根据实际情况进行修改。另外,还需要设置 `Access-Control-Allow-Headers` 头,指定允许的请求头信息。
相关问题
Access to XMLHttpRequest at 'http://127.0.0.1:1122/' from origin 'http://loc
根据提供的引用内容,可以看出这是CORS(跨域资源共享)的错误提示。这是由于浏览器的同源策略所导致的。同源策略是浏览器的一种安全策略,它限制了一个源(协议、域名、端口)的文档或脚本如何能够与另一个源的资源进行交互。如果两个页面的协议、域名、端口有任何一个不同,那么它们就被认为是不同的源。在这种情况下,浏览器会阻止页面向另一个源发送请求。
解决这个问题的方法是在服务器端设置响应头,允许特定的源访问资源。可以在服务器端设置Access-Control-Allow-Origin响应头,将其设置为允许访问的源。例如,如果想允许所有的源访问资源,可以将其设置为"*"。
如果你是在开发中遇到了这个问题,可以尝试以下几种解决方法:
1. 在服务器端设置Access-Control-Allow-Origin响应头,允许特定的源访问资源。
2. 将前端代码和后端代码部署在同一个域名下,避免跨域问题。
3. 使用代理服务器来转发请求,避免跨域问题。
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中添加一个过滤器类来配置跨域请求。