angularjs - 预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段 Access-Control-Allow-Origin

标签 angularjs ajax rest cors zingchart

当我尝试加载网页时,出现以下错误:预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段 Access-Control-Allow-Origin。

我查看了针对此问题的其他答案,它们表明缺乏 CORS 支持。令人困惑的是我有 cors 支持!至少我认为是这样。

我正在尝试将 Zingchart 连接到我的 Angular JS 前端,并使用 AJAX 请求从我的 REST API(位于 localhost:3000)获取数据

这是我的 AJAX 调用:

window.feed = function(callback) {
    $.ajax({
        type: "GET",
        dataType: "json",
        headers: {
            Accept: "application/json",
            "Access-Control-Allow-Origin": "*"
        },
        url: "http://localhost:3000/readings",
        success: function (data) {
            var mem = data.mem.size/10000;
            var tick = {
                plot0: parseInt(mem)
            };
            callback(JSON.stringify(tick));
        }
    });

我的 REST API 实现包括以下内容:

 // CORS Support
 app.use(function(req, res, next) {
   res.header('Access-Control-Allow-Origin', '*');
   res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
   res.header('Access-Control-Allow-Headers', 'Content-Type');
   next();
 });

我的 REST API 是在本教程的帮助下构建的:https://www.youtube.com/watch?v=OhPFgqHz68o

最佳答案

取出“headers”“dataType”。您的请求将如下所示:

$.ajax({
    type: "GET",
    url: "http://localhost:3000/readings",
    success: function (data) {
        var mem = data.mem.size/10000;
        var tick = {
            plot0: parseInt(mem)
        };
        callback(JSON.stringify(tick));
    }
});

您的 header 正在触发预检请求。

如果您使用 Angular,我强烈建议不要使用 jQuery 进行 AJAX,而是使用 Angular 的 built-in $http service .

我是 ZingChart 团队的成员。如果我们可以帮助您制作图表,请调用。

关于angularjs - 预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段 Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34862579/

相关文章:

javascript - AngularJS:在没有范围的字符串中编译 Angular 代码

javascript - Node.js + Express : How to update page when something has been inserted into database?

javascript - 将我的 php $_POST 表单更改为正确的 js/jQuery、Ajax 无需刷新表单

javascript - 为什么 Safari 发送错误的 cookie 值?

.net - RESTLET 的 C# 或 .Net 客户端

rest - 寻找不同 REST 资源表示的命名约定的建议

javascript - 如何避免 $digest 在测试过程中已经在进行中

javascript - 如何为可以在控制台中检查的 Angular 服务创建变量?

当基本身份验证用户名具有 @ 符号时,Jquery .ajax 失败(ios/cordova)

javascript - 无法在 Angular js中访问http json服务