微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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');
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐