No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2023-10-17 11:31:47 浏览: 72
这个错误是浏览器的同源策略导致的。同源策略是一个重要的安全限制,它防止一个网页的脚本访问另一个网页的内容。同源指的是协议、域名、端口号三者都相同。
当你的 JavaScript 代码从一个域名向另一个域名发起 Ajax 请求时,如果目标域名与当前域名不同,就会触发跨域限制。这时浏览器就会发送一个 OPTIONS 请求,向目标域名询问是否允许跨域访问。如果目标域名没有正确配置跨域策略,就会返回上面的错误。
要解决这个问题,需要在目标域名的服务器端设置跨域策略,具体方法有以下几种:
1. 在服务器端设置响应头 Access-Control-Allow-Origin,允许指定的域名或所有域名访问。例如:
```http
Access-Control-Allow-Origin: *
```
2. 如果需要发送跨域 cookie,还需要设置 Access-Control-Allow-Credentials 为 true。例如:
```http
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
```
3. 如果需要发送跨域请求的自定义请求头,还需要设置 Access-Control-Allow-Headers 为允许的请求头列表。例如:
```http
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Headers: Authorization, Content-Type
```
需要注意的是,以上设置应该在服务器端进行,具体方法根据不同的后端语言和框架有所不同。
阅读全文