我知道有很多关于如何在node / express中启用CORS的东西,并尝试过实现它们,但没有运气。
我的角色请求:
function getPhotos(location) {
var url = 'https://api.instagram.com/v1/media/search?lat=' + location.lat + '&lng=' + location.lng + '&access_token=' + ig_access_token;
$http({
method: 'GET',
url: url
}).then(function (response) {
console.log("here are the photos: ", response);
}, function(err) {
console.log("whoops, there is an error: ", err);
});
我在node / express中的服务器设置:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(methodOverride('X-HTTP-Method-Override'));
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.use(express.static(__dirname + '/public'));
app.listen(port);`
但我仍然会收到此错误:
否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:8080'因此不允许访问。
有什么想法吗?
答案 0 :(得分:0)
尝试在角度代码中执行此操作
$http({
method: 'GET',
url: url,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT',
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept'
}
})