【问题标题】:AngularJS Request Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers [duplicate]Access-Control-Allow-Headers不允许AngularJS请求Access-Control-Allow-Headers [重复]
【发布时间】:2016-11-24 03:33:25
【问题描述】:

我需要知道我能做些什么来解决这个需要修复的问题。我不需要知道问题,需要知道解决方案。有谁知道我该怎么做?

我的离子应用程序:

// 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 并根据我的需要返回,但如果你在 AngularJS 中发出请求,由于错误“Access-Control-Allow-Headers”是不可能的。我看到了一些关于它的问题,但没有意识到解决方案本身,有谁知道在哪里(客户端或 api)以及我该如何解决?

【问题讨论】:

  • 是的,让你的 api 支持 CORS。这很容易。研究。

标签: angularjs express ionic-framework


【解决方案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();
});

【讨论】:

    猜你喜欢
    • 2015-06-17
    • 2015-09-05
    • 2016-05-15
    • 2015-06-03
    • 2016-09-30
    • 2013-07-05
    • 1970-01-01
    • 2016-04-24
    相关资源
    最近更新 更多