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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐