为什么我得到未定义的对象以及如何使用NodeJ解析json数据?

时间:2015-09-06 15:46:07

标签: javascript json node.js

我的架构如下:

  • 服务器端是NodeJs

  • 客户端是HTML& JavaScript& JSON

我试图从客户端向服务器发送一些数据,但服务器总是收到无效数据。

服务器:

app.post('/process_post', urlencodedParser, function (req, res) {   
   console.log("Got POST (RES): " + res);
   console.log("Got POST (RES-BODT): " + res.body);
   res.sendFile( __dirname + "/" + "MyWeb.html" );
})

客户端:

function onSubmit() {

    var xmlhttp;
    var result = '{"Q1":1,"Q2":3,"Q3":9}'                   
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open("POST","~/process_post",true);
    xmlhttp.send(JSON.stringify(result));

    // same result when sending the next data:
    //xmlhttp.send("XYZ");
    return true;
}

但在服务器端,我总是得到:

Got POST (RES): [object Object]
Got POST (RES-BODT): undefined
  1. 我缺少什么?
  2. 如何在服务器端获取解析后的json数据(Q1,Q2,Q3)?
  3. 由于

1 个答案:

答案 0 :(得分:0)

如果您使用express:https://github.com/expressjs/body-parser

,请使用express body-parser

添加限制50mb - 用于发送更多日期: app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));