访问数据通过Ajax Post发送到NodeJS服务器

如何访问通过Ajax POST发送到Nodejs服务器的数据?

//Client $.ajax( { url: '/getExp', data: 'Idk Whats Rc', type: 'POST', }); //Server app.post('/getExp', function(req, res){ var data = req.???; //I want data to be equal to 'Idk Whats Rc' } 

Express 4.x:

Express 4不再包含Connect作为依赖项,这意味着您将需要单独安装正文parsing模块。

parsing器中间件可以在它自己的GitHub仓库中find 。 它可以像这样安装:

 npm install body-parser 

对于表单数据,这是如何使用中间件:

 var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded()); 

对于Express 3.x和之前版本:

您需要使用Express中的bodyParser()中间件来parsingHTTP请求的原始主体。 中间件然后填充req.body

 app.use(express.bodyParser()); app.post('/path', function(req, res) { console.log(req.body); }); 

你可能想要传递一个对象而不是一个string到你的POST请求,因为你现在有这样的东西:

 { 'Idk Whats Rc': '' } 

使用代码有点像这样:

 $.ajax({ url: '/getExp', data: { str: 'Idk Whats Rc' }, type: 'POST', }); 

会给你这个:

 { str: 'Idk Whats Rc' }