我已经开始学习MEAN stack,并且正在尝试制作一个超级简单的twitter克隆,允许你发布帖子和查看其他人的帖子。 但是,每当我尝试从Angular应用程序发出http请求时,控制台中都会出现一个错误:
Access to XMLHttpRequest at ... has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
这是我想提出的要求:
router.route('/posts').get((req, res) => {
Post.find((err, posts) => {
if (err) {
console.log(err);
} else {
res.json(posts);
}
})
})
下面是我从我的Angular应用程序中调用的
getPosts() {
return this.http.get(`${this.URI}/posts`);
}
以下是我目前正在尝试的修复方法(不起作用):
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
而且我也尝试过使用cors节点模块,但那也不管用。。。 我找不到别的解决办法。 我做错了什么?
您请求的URL错误。 错误消息显示您没有使用HTTP或HTTPS。
this.uri
的值不是您所期望的。 你得把它修好。