cors angular / node + express问题

时间:2017-10-08 14:51:55

标签: angular express cors

我知道有很多关于如何在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'因此不允许访问。

有什么想法吗?

1 个答案:

答案 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'
    }
  })