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)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐