url编码问题小计
昨天通过get访问服务器遇到了服务器获取不到参数的问题,最后排查下来是因为url编码的原因,之前使用的是字符串拼接,所以有一些特殊字符如‘%’没有正确的编码,
通过改成各个部分编码,正确获取到数据。
#如果用字符串拼接,应当使用encodeURIComponent()对各个参数进行编码之后再拼接。
js 的函数:
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
#通过axios应当传入params参数:
axios.get(baseurl,{'params':{
param1:'param1',
}})