Access-Control-Allow-Headers不允许AngularJS请求访问控制允许标头

时间:2016-07-20 19:14:58

标签: angularjs express ionic-framework

我需要知道如何解决这个需要修复的问题。我不需要知道问题,需要知道解决方案。任何人都知道我该怎么办?

我的离子应用程序:

// 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)以及我该如何解决?

1 个答案:

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