最近在做項目的時候遇到了一個問題,在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)
}
});