在没有状态的节点js中发送json响应

时间:2016-06-02 12:25:30

标签: javascript json node.js

我正在尝试从节点js服务器向GET调用发送json响应。 我正在创建一个json,如下所示

var request = require('request');
var parseString = require('xml2js').parseString;


env.server.get('localhost:3000/details', function(req, res) {
                if (req.query.code) {
                    request.get({
                        url: 'http://www.example.com/net2/getDetails?code=' + req.query.code
                    }, function(err, result, body) {
                        if (err) {
                            console.log('error :' + err);
                            res.status(404).json({
                                infoMsg: "Error"
                            });
                        } else if (result.statusCode == 200) {
                            var resultBody = {};
                            parseString(body, function(e, parsedResult) {

                                resultBody["userName"] = parsedResult.userName;
                                resultBody["userDept"] = parsedResult.department;
                                resultBody["userCat"] = parsedResult.category;
                                res.send(resultBody);
                            });
                        }
                    })
                } else {
                    console.log('Request failed .');
                }
            });

我期待的结果需要采用这种格式

{
    "name": "test",
    "dept": "dept1",
    "cat": "cat2"
}

但我得到的回应是这种格式

{
  "status": "success",
  "data": {
    "name": "test",
    "dept": "dept1",
    "cat": "cat2"
  }
}

如何创建一个符合预期格式的响应,即没有添加状态和数据,我哪里出错。

1 个答案:

答案 0 :(得分:1)

如果您使用JSON请求Ajax Request,则status字段是'res'的原始部分,无法移除。