在做项目中,遇到这样的情景,字符串作为url中的参数,向后台发送请求,例如:/user/'+ words +'/search. 如果前端不对参数words做处理就发到后台,后台得到的words是乱码。百度查了一下js编码的方法,采用encodeURI来解决问题。第一次写成如下方式:
var encodeUrl = encodeURI('/user/'+ words +'/search');
$.ajax({
url: encodeUrl,
type: 'get',
后面省略...
});
结果后台解码出来的words依然是乱码。最后发现在对words进行一次单独的编码就不是乱码了,如下:
var encodeUrl = encodeURI('/user/'+ encodeURI(words )+'/search');
$.ajax({
url: encodeUrl,
type: 'get',
后面省略...
});