美文网首页
关于IE下get方法url中中文乱码的问题解决

关于IE下get方法url中中文乱码的问题解决

作者: 狂足Eroisan | 来源:发表于2020-07-08 20:44 被阅读0次

在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)

}

});

encodeURI() 与

encodeURI() 函数可把字符串作为 URI 进行编码。

https://www.sojson.com/encodeurl.html?我是个中文参数

https://www.sojson.com/encodeurl.html?%E6%88%91%E6%98%AF%E4%B8%AA%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

encodeURIComponent() :

https://www.sojson.com/encodeurl.html?我是个中文参数

https%3A%2F%2Fwww.sojson.com%2Fencodeurl.html%3F%E6%88%91%E6%98%AF%E4%B8%AA%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0

提示和注释

提示:如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。

https://www.w3school.com.cn/js/jsref_encodeuri.asp

https://www.cnblogs.com/githubzy/p/5752976.html

相关文章

网友评论

      本文标题:关于IE下get方法url中中文乱码的问题解决

      本文链接:https://www.haomeiwen.com/subject/ifuhcktx.html