【发布时间】:2020-01-06 23:31:37
【问题描述】:
对于一个项目,我需要使用 Angular 制作一个应用程序,我必须在其中从数据库中获取数据。所以我用 NodeJs 创建了一个 API 来处理连接并获取我的数据。
但是现在用我的 Angular 应用调用这个 API 有问题,我先给你看我的代码
这里是我尝试返回数据以使用它的组件:(something.component.ts)
onGetData(){
this.foncService.getData()
.subscribe((data) => {
console.log(data);
},(error) => {
console.log("error : ", error);
});
}
我在这里调用我的 API:(something.service.ts)
getData(){
return this.httpClient.get('localhost:3000/api/data').map(res => res);
}
我在这里从我的 API 中的数据库获取数据:(api.js)
function getAllDatas(req, res, next) {
db.any('select * from dat')
.then(function (data) {
res.status(200)
.json({
status: 'success',
data: data,
message: 'done'
});
})
.catch(function (err) {
return next(err);
});
}
API 运行良好,当我单独使用它时,我得到了正确的数据。
好吧,当我想使用我的数据时,问题出在组件上,所以问题可能来自我的服务,idk :(,所以我的错误如下:
当我想在互联网上搜索这个错误时,我总是陷入 CORS 问题,但我想我已经配置了它
api.js
var cors = require('cors');
app.use(cors())
//or I also tried
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
});
【问题讨论】:
-
假设您的应用程序仍在开发中,不要为
CORS调整代码,只需在谷歌浏览器中下载一个名为CORS Toggle的插件,然后将其添加到浏览器中,单击它然后它会变成绿色,然后所有这些CORS相关的问题都不会出现,直到你再次点击它。