node.js – Access-Control-Allow-Origin不允许使用原始http:// localhost.

我正在Node.JS中开发REST Web服务以使用骨干框架.
我已经使用urlRoot定义了一个Person模型:http:// localhost:3000 / users我创建了一个请求处理程序,在接收发布请求时将该人员添加数据库中.

app.post(‘/ users’,user.add(db));

exports.add = function(db){
    return function(req,res){

        console.log(req.body);

        var name = req.body.name;
        var age = req.body.age;
        var sex = req.body.sex;
        var job = req.body.job;

        var peopleDb = db.get('people');

        peopleDb.insert({
            'name':name,'age':age,'sex':sex,'job':job
        },function(e,docs){
            if(e){
                console.log(e);
            }else
            {
                res.setHeader('Content-Type','application/json');
                res.setHeader('Access-Control-Allow-Origin','*');
                res.setHeader('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
                res.writeHead(200);
                res.end(JSON.stringify(docs));
            }
        });
    }
}

当我尝试执行代码时,我在控制台中得到了这个:

Access-Control-Allow-Origin不允许使用origin http:// localhost.

我从其他答案中读到添加标题:Access-Control-Allow-Origin:*和Access-Control-Allow-Methods:GET,DELETE可以解决问题,但它对我没用.我也尝试将这些标题放在.htaccess文件中,但没有运气.

有人可以告诉我代码是否有问题或者是否有任何解决方案?

解决方法

如果你使用快递,你可以使用 cors软件包来允许CORS,而不是编写你的中间件;

var express = require('express'),cors = require('cors'),app = express();

app.use(cors());

app.get(function(req,res){ 
  res.send('hello');
});

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...