在NodeJS中获取发布数据

时间:2016-05-02 23:44:38

标签: javascript ajax node.js post

由于this回答,我认为this问题的答案已过时。

我已经阅读了关于npm打包的称为body-parser的解决方案,但如果我能找到另一种方法,我不想使用它。我只是想解析节点中的POST数据。

我有一个像这样的ajax函数:

$.ajax {
    url: '/foo',
    method: 'POST',
    data: {foo: "foo", bar: "bar"}
}

类似的东西:

app.post('/foo', function(req, res) {
    var postFoo = req.foo; // How do I do this? 
});

2 个答案:

答案 0 :(得分:2)

您可以使用body-parser中间件:

$ npm install body-parser --save

然后:

const express = require('express')
const bodyParser = require('body-parser')

const app = express()

app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())

app.post('/foo', function (req, res) {
  // req.body is a plain object
})

答案 1 :(得分:0)

尝试

req.body.foo
像这样:

app.post('/foo', function(req, res) {
    var postFoo = req.body.foo;
});

请求可以包含许多信息,例如请求用户,标头和请求正文。正文保存了ajax-request传递的实际数据。