Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 起源http://localhost 访问控制允许原点不允许。_Node.js_Backbone.js_Http Headers - Fatal编程技术网

Node.js 起源http://localhost 访问控制允许原点不允许。

Node.js 起源http://localhost 访问控制允许原点不允许。,node.js,backbone.js,http-headers,Node.js,Backbone.js,Http Headers,我正在Node.JS中开发一个REST Web服务,用于主干框架。 我已经用urlRoot:http://localhost:3000/users我创建了一个请求处理程序,在收到post请求时将此人添加到数据库中 app.post('/users',user.add(db)) 当我尝试执行代码时,我在控制台中得到: 原点http://localhost 访问控制允许源站不允许使用。 我从其他答案中读到,添加标题:accesscontrolalloworigin:和accesscontrolall

我正在Node.JS中开发一个REST Web服务,用于主干框架。 我已经用urlRoot:
http://localhost:3000/users
我创建了一个请求处理程序,在收到post请求时将此人添加到数据库中

app.post('/users',user.add(db))

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

原点http://localhost 访问控制允许源站不允许使用。

我从其他答案中读到,添加标题:
accesscontrolalloworigin:
accesscontrolallowmethods:GET、PUT、POST、DELETE可以解决问题,但对我来说不起作用。我也尝试过将这些头放在.htaccess文件中,但没有成功


有人能告诉我代码或解决方案是否有问题吗?

当使用与
选项相同的路径时,您需要实现响应。我有以下代码用于在整个express应用程序中允许CORS:

var app = express()
app.use(function(req, res, next) {
    if (req.headers.origin) {
        res.header('Access-Control-Allow-Origin', '*')
        res.header('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type,Authorization')
        res.header('Access-Control-Allow-Methods', 'GET,PUT,PATCH,POST,DELETE')
        if (req.method === 'OPTIONS') return res.send(200)
    }
    next()
})
// configure your routes

如果您使用的是
express
,那么您可以使用包来允许COR这样做,而不是编写中间件

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

app.use(cors());

app.get(function(req,res){ 
  res.send('hello');
});
var express = require('express')
, cors = require('cors')
, app = express();

app.use(cors());

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