Access to XMLHttpRequest at has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2023-11-08 22:05:21 浏览: 809
这个错误是由于浏览器的同源策略(Same-Origin Policy)导致的。同源策略要求网页只能向与其来源相同的域名、协议和端口发送请求。如果你的请求违反了同源策略,浏览器会阻止该请求,并显示"Access-Control-Allow-Origin"的CORS错误。
要解决这个问题,你需要在目标服务器上设置CORS头部,允许跨域访问。在服务器响应中添加"Access-Control-Allow-Origin"头部,并设置为允许访问的域名或"*"来允许所有域名跨域请求。
相关问题
spring has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Spring被CORS策略拦截的原因是由于请求的资源没有提供'Access-Control-Allow-Origin'头字段。CORS(跨域资源共享)是一种机制,用于允许在一个域中的网页向另一个域中的资源发起跨域请求。当浏览器发起一个跨域请求时,会先发送一个预检请求,该请求需要服务器返回一个包含'Access-Control-Allow-Origin'头字段的响应。如果服务器没有提供该头字段,浏览器就会拦截该请求,并报错"Access to XMLHttpRequest at 'http://....' from origin 'http://....' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource"。这是浏览器的一种安全策略,用于防止恶意网站访问其他域中的敏感信息。解决该问题的方法是在服务器端配置相应的CORS规则,添加'Access-Control-Allow-Origin'头字段,指定允许跨域访问的来源。
Access to XMLHttpRequest at 'http://localhost:8000/' from origin 'http://127.0.0.1:5500' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个错误是由于跨域资源共享(CORS)策略导致的。浏览器默认情况下不允许从一个域名的网页中向另一个域名的服务器发起请求,除非服务器明确允许。在你的情况中,你的网页是从`http://127.0.0.1:5500`加载的,但是你向`http://localhost:8000`发起了一个请求,这两个域名不同,因此浏览器会阻止此请求。
为了解决这个问题,你需要在服务器端配置`Access-Control-Allow-Origin`头,以允许来自`http://127.0.0.1:5500`的请求。你可以在服务器端添加以下代码:
```
// Node.js Express 示例
const express = require('express');
const app = express();
// 允许从 http://127.0.0.1:5500 发起的请求
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', 'http://127.0.0.1:5500');
next();
});
// 其他路由处理代码
// ...
app.listen(8000, () => {
console.log('Server listening on port 8000');
});
```
这样设置后,来自`http://127.0.0.1:5500`的请求就可以访问`http://localhost:8000`了。
阅读全文