origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
时间: 2023-11-17 09:04:19 浏览: 131
这个错误是由于浏览器的同源策略导致的。同源策略是浏览器的一种安全策略,它限制了一个源加载的文档或脚本如何与来自另一个源的资源进行交互。如果你的网站试图从另一个源请求数据,浏览器就会阻止这个请求。这个错误通常发生在你的网站试图从另一个域名请求数据时,而这个域名没有设置允许跨域访问的头部信息。
解决这个问题的方法是在请求的响应头中添加Access-Control-Allow-Origin头部信息,允许指定的域名访问该资源。在Node.js中,你可以使用Express框架来设置允许跨域访问服务。下面是一个示例代码:
```javascript
// 引入express框架
var express = require('express');
// 创建web服务器
var app = express();
// 设置允许跨域访问该服务
app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Methods', '*');
res.header('Access-Control-Allow-Headers', 'X-Requested-With');
next();
});
```
这段代码中,`app.all('*')`表示允许所有的请求都可以跨域访问该服务。`res.header('Access-Control-Allow-Origin', '*')`表示允许所有的域名都可以访问该资源。你也可以将`*`替换为指定的域名,以限制允许访问该资源的域名。
阅读全文