最近在做项目的时候遇到了一个问题,在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) } });