Javascript 带节点的CORS问题

Javascript 带节点的CORS问题,javascript,node.js,cors,Javascript,Node.js,Cors,所以我正在设置一个允许跨域请求的应用程序。我在这篇文章中使用了多种方法 然而,我得到一个错误,我似乎无法解决。以下是我正在使用的方法(并不是说我尝试了概述的3种方法——它们都给出了相同的错误) 这仍然给了我一个错误: XMLHttpRequest cannot load http://localhost:3000/blah. Request header field Content-Type is not allowed by Access-Control-Allow-Headers. 如果

所以我正在设置一个允许跨域请求的应用程序。我在这篇文章中使用了多种方法

然而,我得到一个错误,我似乎无法解决。以下是我正在使用的方法(并不是说我尝试了概述的3种方法——它们都给出了相同的错误)

这仍然给了我一个错误:

XMLHttpRequest cannot load http://localhost:3000/blah. Request header field Content-Type is not allowed by Access-Control-Allow-Headers. 

如果我注释掉上面的代码,我会得到预期的不允许的错误,这似乎表明该代码正确地处理了请求。我还重新键入了内容类型请求,以确保没有粘贴奇数字符。有什么线索吗?

您有两个
访问控制允许标题
标题。最后一个会赢的


您可能需要一个带有逗号分隔列表值的
访问控制允许标头
标头。

您有两个
访问控制允许标头
标头。最后一个会赢的


您可能需要一个带有逗号分隔列表值的
Access Control Allow Headers
头。

使用cors插件,这样更简单,无需手动设置res.header

在此处获取插件:

REST API代码示例:

'use strict';

var express = require('express'),
    cors = require('cors'),
    port = process.env.PORT || 3000,
    connect = require('connect'),
    app = express();

app.use(connect.bodyParser()); //For POST method JSON form data

//GET method
app.get('/books', cors(), function(req, res){
      //send JSON etc
      res.json({});
});

//POST method
app.post('/books/', cors(), function(req, res){                          
    var book = req.body;

    //insert book to DB etc

    //send result back to client
    res.send(book);
});

//start server on port 3000
if(!module.parent){
  app.listen(port, function(){
    console.log('Express server listening on port ' + port + '.');
  });
}

现在,您可以从任何位置、端口等访问REST API,cheers

使用cors插件,这样更简单,无需手动设置res.header

在此处获取插件:

REST API代码示例:

'use strict';

var express = require('express'),
    cors = require('cors'),
    port = process.env.PORT || 3000,
    connect = require('connect'),
    app = express();

app.use(connect.bodyParser()); //For POST method JSON form data

//GET method
app.get('/books', cors(), function(req, res){
      //send JSON etc
      res.json({});
});

//POST method
app.post('/books/', cors(), function(req, res){                          
    var book = req.body;

    //insert book to DB etc

    //send result back to client
    res.send(book);
});

//start server on port 3000
if(!module.parent){
  app.listen(port, function(){
    console.log('Express server listening on port ' + port + '.');
  });
}
现在,您可以从任何位置、端口等访问RESTAPI,干杯