nodejs的request模块提交json数据的方法

该模块的源代码地址:

https://github.com/request/request

注意:

代码以apicloud访问云端数据库为例子,所以有自定的heads信息,测试时,将这些无用信息去掉即可

安装request模块

  1. node install request

加载request模块

  1. var request = require('request');

方法一:

使用json,对应的值为要提交的json数据

  1. var r=request({
  2. url: 'https://d.apicloud.com/mcm/api/user/login',
  3. method: "POST",
  4. headers: {
  5. "X-APICloud-AppId": APP_ID,
  6. "X-APICloud-AppKey": appKey
  7. },
  8. json:{"username":"admin","password":"123456"}//提交的数据,并且返回的body也是json类型
  9. },
  10. function (error, response, body) {
  11. console.log('v:'+1);
  12. console.log("body:"+JSON.stringify(body));
  13. console.log("userId:"+body.userId)
  14. if (!error && response.statusCode == 200) {
  15. console.log(body) //
  16. }
  17. //var bodyJson=JSON.parse(body);
  18. resp.json(body);
  19. })

方法二

json属性为true,将json数据放到body中

  1. request({
  2. url: 'https://d.apicloud.com/mcm/api/user/login',
  3. method: "POST",
  4. json:true,//发送数据和返回数据都是json类型
  5. headers: {
  6. "X-APICloud-AppId": APP_ID,
  7. "X-APICloud-AppKey": appKey
  8. },
  9. body: {"username":"admin","password":"123456"}
  10. },
  11. function (error, response, body) {
  12. console.log('v:'+1);
  13. console.log("body:"+JSON.stringify(body));
  14. console.log("userId:"+body.userId)
  15. if (!error && response.statusCode == 200) {
  16. console.log(body) //
  17. }
  18. //var bodyJson=JSON.parse(body);
  19. resp.json(body);
  20. })

方法三

指定json属性为true,并调用form()方法提交json数据

  1. var r=request({
  2. url: 'https://d.apicloud.com/mcm/api/user/login',
  3. method: "POST",
  4. json:true,//发送数据和返回数据都是json类型,此处必须设置为true
  5. headers: {
  6. "X-APICloud-AppId": APP_ID,
  7. "X-APICloud-AppKey": appKey
  8. },
  9. },
  10. function (error, response, body) {
  11. console.log('v:'+1);
  12. console.log("body:"+JSON.stringify(body));
  13. console.log("userId:"+body.userId)
  14. if (!error && response.statusCode == 200) {
  15. console.log(body) //
  16. }
  17. //var bodyJson=JSON.parse(body);
  18. resp.json(body);
  19. })
  20. r.form({"username":"admin","password":"123456"})

总结:
在option中的json属性,要么为true,要么是提交的json数据,返回的body,自动转换为json类型


原文出处:http://malaoshi.top/show_1C7byuw5wrj.html