post请求,“application/x-www-form-urlencoded”,在请求地址拼接参数,请求失败
此种请求需要将各种参数用&
连接,再用?
拼接到url地址后面,如下:
http://192.168.5.110:8000/login/token?username=system&client_id=web_client
易错点:
寻常的参数可以直接自主拼接,如下:
var value = {
username': 'admin',
'name': '张三',
"client_secret": 'web_client'
}
var param = ''
for (var i in value) {
param += '&' + i + "=" + value[i]
}
param = param.slice(1)
但是自己拼接存在一个坑,如果遇到拼接的参数值(如:加密后的登录密码)里有特殊符号如空格等,需要自己去替换为符合url传参的符号,不然请求会失败。
解决方案:适用qs进行拼接,qs为axios自带的不需要额外安装,使用如下:
var value = {
username': 'admin',
'name': '张三',
"client_secret": 'web_client'
}
let str=qs.stringify(obj)