在web请求中可能涉及到ajax的get请求,参数为中文的情况。在Chrome或者Firefox下,请求正常,但IE下返回结果不对。通过比对发现,在IE浏览器下的请求参数出现了乱码。
最近,使用vue-cli3构建的项目,在IE中测试,发现前端发送get请求带中文的参数时,请求发送成功,但是接口没有返回数据,尝试了各种方法(包括在给请求头中 'cache-control': 'no-cache', 'Pragma': 'no-cache'等均无效),分析了下时参数的原因,用encodeURI()将中文参数转换(或者转换全部参数),获取到后端返回的数据。
let params = encodeURI(params);
this.http.get(URL+"/XX/XXX?XXX="+params+'&XX='+XX).then(res => {
console.log(res);
}));
将get请求的url+param使用encodeURI方法进行转化,之后就可以正常进行参数传递了。