angularjs – 请求标头字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin

前端之家收集整理的这篇文章主要介绍了angularjs – 请求标头字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试加载我的网页时出现以下错误:请求标题字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin.

我已经查看了回答此问题的其他答案,并指出缺少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

解决方法

取出“标题”和“dataType”.您的请求将如下所示:

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

您的标题正在触发预检请求.

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

我在ZingChart团队.霍勒,如果我们可以帮助你的图表.

猜你在找的Angularjs相关文章