我需要知道如何解决这个需要修复的问题。我不需要知道问题,需要知道解决方案。任何人都知道我该怎么办?
我的离子应用程序:
// controller test:
$http({
method: 'GET',
url: 'https://example.herokuapp.com/apiDataTest/'
}).then(function successCallback(response) {
console.log('response'+response);
}, function errorCallback(response) {
console.log('response'+response);
});
我的api使用快递,是这样的:
var express = require('express');
var app = express();
app.get('/apiDataTest', getData);
function getData(req, res) {
res.json({
message: 'Ok! Welcome to test data!'
});
}
例如,如果我通过浏览器或邮递员呼叫该地址。 json并根据需要返回,但是如果你因为错误'Access-Control-Allow-Headers'而无法使用AngularJS。我看到了一些关于它的问题,但没有意识到解决方案本身,有没有人知道在哪里(客户端或api)以及我该如何解决?
答案 0 :(得分:1)
在API中添加以下内容以支持CORS:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Control-Allow-Credentials");
res.header("Access-Control-Allow-Credentials", "true");
next();
});