如何解决请求的资源快速服务器上没有“ Access-Control-Allow-Origin”标头
app.use((req,res,next) => {
res.setHeader('Access-Control-Allow-Origin','*');
res.setHeader('Access-Control-Allow-Methods','GET,POST,PUT,DELETE');
res.setHeader('Access-Control-Allow-Headers','Content-Type,x-auth-token');
res.setHeader("Content-Type","application/json");
next();
});
当我尝试从其他IP地址向服务器发送请求时,出现以下错误。
CORS策略已阻止从来源“ http:// localhost:3000”访问“ https://money-manager-api-v1.herokuapp.com/auth”处的XMLHttpRequest:无“ Access-Control-允许来源的标头出现在请求的资源上。
POST https://money-manager-api-v1.herokuapp.com/auth网:: ERR_Failed
2020-10-13T07:11:59.437570 + 00:00应用程序[web.1]:getaddrinfo ENOTFOUND mongo
2020-10-13T07:11:59.452909 + 00:00 heroku [router]:at =错误代码= H13 desc =“连接已关闭但无响应” method = POST path =“ / auth” host = money-manager- api-v1.herokuapp.com request_id = 9b274fb3-9861-481e-ac68-d52390759b16 fwd =“ 37.252.80.232” dyno = web.1 connect = 1ms service = 17010ms status = 503 bytes = 0 protocol = https
这有什么问题吗?
解决方法
我在express上遇到了(或多或少)相同的问题,所以我在“ cors”库中找到了一个地方,可以添加:
https://yarnpkg.com/package/cors
npm i -S cors (or)
yarn add cors
然后在您的app.js(主)文件中,您可以添加:
...
const cors = require('cors');
...
...
app.use(cors());
,
谢谢大家的回答。我找到了解决方法。
我不知道为什么错误消息与CORS有关,但问题是我在配置文件中传递了错误的MongoDB URI(来自我的本地主机而不是MongoDB地图集)。
,我认为您应该使用cors库。
const cors = require('cors');
app.use(cors());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。