NPM请求模块 - body与json

时间:2015-08-12 00:10:27

标签: javascript json node.js http-post

我想知道请求模块的options对象的body属性和json属性之间的区别是什么。例如,这两个请求实例之间有什么区别:

var obj = {
        "type": "SCHEDULED_CALLBACK",
        "appointmentTime": "2014-10-06T15:45:00Z",
        "queue": queueName
    };

第一个:

  request.post({
            method: 'POST',
            uri: url,
            headers: {'content-type': 'application/json'},
            json: obj  
        }
        , function (err, response, body) {
            cb(err, response, body);
        });

和这一个:

request.post({
        method: 'POST',
        qs: {queue: queueName}, //query string params go here
        uri: url,
        body: JSON.stringify(obj),
    }
    , function (err, response, body) {
        cb(err, response, body);
    });

例如,当我收到一个帖子请求时,JSON数据总是在请求的正文中。那么在使用请求模块时,为选项的body属性或选项的json属性赋值的区别是什么?

1 个答案:

答案 0 :(得分:5)

唯一的区别是body不假设内容类型是JSON,而json则认为,并相应地设置Content-Type标头。

在您的示例中,body: JSON.stringify(obj)json: obj之间没有区别,除了缺少自动设置标题。