node.js中如何发起http请求,以及请求参数为中文时的解决办法
node.js中如何发起http请求
node.js中如何发起http请求可以参考这篇博文,我选用了request进行http请求,代码如下:
async function(req,res,next) {
let desc =req.query.decs;
request('http://192.168.128.9:8080/entity?param1='+desc,function(err,response,body){
if(err){
console.log('获取失败')
console.log(err)
return res.sendResult(null,400,err);
}else{
console.log('获取成功')
var result = JSON.parse(body)
return res.sendResult(result,200,"获取数据成功");
}
})
}
请求参数为中文时怎么办
以上的 代码进行请求时,因为请求参数中有中文,就会报一下错误
解决请求参数中有中文的办法如下代码所示:
async function(req,res,next) {
//参数中有中文时的解决办法encodeURI()
let desc =encodeURI(req.query.decs);
request('http://192.168.128.9:8080/entity?param1='+desc,function(err,response,body){
if(err){
console.log('获取失败')
console.log(err)
return res.sendResult(null,400,err);
}else{
console.log('获取成功')
var result = JSON.parse(body)
return res.sendResult(result,200,"获取数据成功");
}
})
}