❤️砥砺前行,不负余光,永远在路上❤️
前言
nodejs中使用request报错:_http_outgoing.js:722 throw new ERR_INVALID_ARG_TYPE(‘first argument’, TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer or Uint8Array. Received an instance of Object
一、解决办法
给参数body转为json字符串就行,要注意自己传的参数是json还是object 上边那个 json 是true 还是false 可能也有影响。
二、nodejs中request 三种请求方式
var request = require('request');
/*
url:请求路径
method:请求方式
data:参数
isForm:是否是表单格式
*/
const requests = (url, method = 'POST', data, isForm = false) => {
return new Promise((resolve, reject) => {
if (method == 'GET') {
/* 一般GET请求 */
request({ url, method: 'GET', qs: data }, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // 请求成功的处理逻辑
resolve(body)
} else {
reject(error)
}
});
} else {
/* 提交form表单 */
if (isForm) {
request.post({ url, form: data }, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // 请求成功的处理逻辑
resolve(body)
} else {
reject(error)
}
})
} else {
console.log('一般POST')
/* 一般POST请求 */
request({
url, method: "POST", json: false,
headers: {
"content-type": "application/json",
},
body: JSON.stringify(data)
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // 请求成功的处理逻辑
resolve(body)
} else {
reject(error)
}
});
}
}
})
}
module.exports = requests;