CORS错误:Angular.JS,Node.JS和Express

时间:2015-08-26 21:46:30

标签: javascript angularjs node.js express

将数据从http发布请求恢复到我正在构建的API时出现问题。引发错误:

  

无法加载XMLHttpRequest(此处为API的URL)。没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://localhost:9000'因此是不允许的   访问。

这是客户端的Angular代码:

app.post('/getThing', function(req, res){
        var date = req.body.date;
        console.log(typeof date);
        var query = Overquery
        var query2 = "alter session set nls_date_format = 'MM/dd/yyyy'";
        console.log(query);
        oracleDB.execute(query2, function(err, result){
                if(err){
                        console.log(err.message);
                }
                else{
                        console.log(result);
                }
        });
        oracleDB.execute(query, function(err, result){
                if(err){
                        console.log(err.message);
                }
                else{
                        res.header('Access-Control-Allow-Origin', '*');
                        res.header('Access-Control-Allow-Methods', 'POST');
                        res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
                        console.log(result.rows);
                        res.json(result.rows);
                }
        });
});

这是我的API的节点服务器端代码:

rails

首次构建API,以便获得任何建议和帮助!

1 个答案:

答案 0 :(得分:0)

从bash shell在项目中运行以下命令:

npm install cors --save

它将安装此: https://github.com/expressjs/cors

然后在创建应用时将其添加到您的服务器。

var express = require('express');
var cors = require('cors');
var app = express();
app.use(cors());

修改:这将为每个未启用安全原因的域启用CORS。点击此处查看进一步的CORS配置:https://github.com/expressjs/cors#configuring-cors