繁体   English   中英

nodejs express 4.0发布json对象

[英]nodejs express 4.0 post json object

我正在尝试解析请求中发送的json对象并回显正在发送的数据,这是我的发帖请求

    $.ajax({
        url: url,
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify({
            name:"Bob"
        }),
        // processData: false, // this is optional
        dataType: 'json'
    });

这是我尝试访问对象参数的方式

    var express = require('express');
    var app = express();
    var bodyParser = require('body-parser');
    var router = express.Router();
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());
    app.use('/api', router);
    app.listen(8010);
    router.post('/addUser', function(req, res){
         console.log(req.body);

    }); 

我认为您需要:

router.post('/addUser', function(req, res){
   console.log(req.body.name);  
});

编辑

测试之后,您还会错过这两行( 或者您没有故意包含它们 ):

app.use(router); //You need to register your rooter as a middleware
app.listen(1234); //Your port of choice

这里的关键是您使用了中间件“ body-parser ”。

它的作用很简单,它将解析数据并创建一个body对象作为您请求的参数。

因此,您要查找的name参数将在:req.body.name中找到,而不是在param中找到

从github页面引用:

需求主体

在中间件之后,在请求对象上填充一个包含已解析数据的新主体对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM