Access to fetch at 'http://127.0.0.1:9000/' 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. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
时间: 2024-03-31 15:33:38 浏览: 305
sudo apt-get install ethereum遇到E: Failed to fetch http://ppa.launchpad.net/, Unable to fetch some等
5星 · 资源好评率100%
这个错误提示是因为浏览器的同源策略(Same-Origin Policy)限制了不同源的网页之间的交互操作。在该错误中,浏览器阻止了从源为 http://127.0.0.1:5500 的网页向源为 http://127.0.0.1:9000 的网页发送跨域请求。
要解决这个问题,可以在后端服务器的响应头中加入 `Access-Control-Allow-Origin` 字段,指定允许的跨域源。例如,如果你使用的是 Node.js + Express 框架,可以在服务器端代码中添加以下中间件:
```javascript
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
next();
});
```
其中的 `*` 表示允许所有源跨域访问该服务器资源,也可以指定具体的源。
如果后端服务器不能修改响应头,也可以在前端请求中设置 `mode: 'no-cors'`,以禁用 CORS,但是这种方式只适用于不需要访问响应内容的情况。
```javascript
fetch('http://127.0.0.1:9000/', {
mode: 'no-cors'
})
```
阅读全文