最近在做项目的时候遇到了一个问题,在Chrome下,使用ajax的get方法请求数据时,url中带中文是没有问题的,但是在IE下,中文会被变成乱码发送过去,以至于无法获取数据。
一开始想到让服务端解析来解决,但是由于发送时已经是乱码,服务端也无法解析乱码。
后来想到了一个办法:使用encodeURI方法将中文转换至URI编码,可以完美解决乱码问题,并且兼容所有浏览器。
具体代码如下:
var url = encodeURI(“http://xxx.xxx.xxx.23?” + 中文);
$.ajax({
type:”get”,
url:url,
dataType:”json”,
success:function(data){
console.log(data)
},
error:function(err){
console.log(err)
}
});