【问题标题】:how to handling CORS over $http in Angularjs1.3如何在 Angularjs1.3 中通过 $http 处理 CORS
【发布时间】:2014-12-16 16:42:18
【问题描述】:

有谁知道如何在 Angularjs 1.3 上实现跨域访问? 我尝试过关注,但似乎无法正常工作。 问题是 Angularjs 没有一篇关于这个问题的文章。

app.config([
    "$httpProvider",
    function($httpProvider){
        $httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = '*';
    }
]);

谢谢。

【问题讨论】:

  • 你为什么要提出这样的要求?它是 GET/POST 吗?尝试使用 rest 客户端来验证您的服务器端 api。
  • 我正在使用 GET 请求来可能 node.js/express.js 服务器。

标签: angularjs cors


【解决方案1】:

这不是客户端更改。您需要更新 api 所在的服务器并添加标头 Access-Control-Allow-Origin 以允许 Cors 请求:

Access-Control-Allow-Origin: *

【讨论】:

  • 您能否验证请求时服务器是否返回了标头。
  • 我的服务器 API 的设置如下:app.use(function(req, res) {res.header('Access-Control-Allow-Origin', '*');}),但客户端上的错误似乎在服务器响应到来之前很快就出现了。
  • 尝试添加更多 CORS 标头,例如 // res.header('Access-Control-Allow-Origin', '*'); // res.header('Access-Control-Allow-Methods', 'POST, GET, DELETE, OPTIONS'); // res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Cookie');这是在您的客户端请求的服务器端
  • 我在 Angularjs 客户端和 expressjs 代理中都进行了设置,但结果是 chrome 上出现了一些错误消息“请求标头字段 Access-Control-Allow-Headers 不允许 Access-Control-Allow -标题”。
猜你喜欢
  • 2021-03-12
  • 1970-01-01
  • 2018-12-22
  • 2020-05-22
  • 1970-01-01
  • 2017-11-01
  • 2015-06-11
  • 1970-01-01
  • 2020-04-20
相关资源
最近更新 更多