Node.js之request模块

前言

眼看很多公司都开始尝试使用ReactNative,达到跨平台开发,最近也写了很多文章,希望让更多想了解的同学快速上手ReactNative.

如果喜欢我的文章,可以关注我微博:袁峥Seemygo

Node.js发送请求

  • Node.js发送请求,需要用到request这个模块
  • request官网
  • 先导入这个模块
npm install request --save

GET请求


var url = 'http://192.168.0.102:3000/home?name=xmg'

// 发送Get请求
// 第一个参数:请求的完整URL,包括参数
// 第二个参数:请求结果回调函数,会传入3个参数,第一个错误,第二个响应对象,第三个请求数据
request(url,function (error, response, data) {
   
    console.log(data)
    
});

Post请求

  • post请求有3种方式,由请求头中的content-type决定,属于哪一种post请求
    • application/x-www-form-urlencoded: 普通http请求方式,参数是普通的url参数拼接
    • application/json: JSON请求方式,参数是json格式
    • multipart/form-data: 文件上传

application/x-www-form-urlencoded

var url = 'http://192.168.0.102:3000/home?name=xmg'

request.post({url:url, form:{key:'value'}}, function(error, response, body) {
    if (!error && response.statusCode == 200) {
    }
})

application/json

var url = 'http://192.168.0.102:3000/home'

request({
    url: url,
    method: "POST",
    json: true,
    headers: {
        "content-type": "application/json",
    },
    body: JSON.stringify(requestData)
}, function(error, response, body) {
    if (!error && response.statusCode == 200) {
    }
}); 

multipart/form-data


var url = 'http://192.168.0.102:3000/home'
var formData = {
    // Pass a simple key-value pair
    my_field: 'my_value',
    // Pass data via Buffers
    my_buffer: new Buffer([1, 2, 3]),
    // Pass data via Streams
    my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
};
request.post({url:url, formData: formData}, function (error, response, body) {  
    if (!error && response.statusCode == 200) {
    }
})

你可能感兴趣的:(Node.js之request模块)