在日常的开发中我们在不得不进行中文传输时,非主流浏览器糟糕的中文兼容性会让我们出现(400,404,405)找不到页面错误(因为url出错当然找不到页面)
加密
这里给出一种加密方式(js原生)
../treeUtils/treeVillage.html'+"?city_name="+encodeURIComponent(select_city_name+"市")
这里值得注意的是:
不推荐使用 escape
因为 escape对0-255以外的unicode值进行编码时输出%u****格式
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
中文状态下escape极容易出现bug
解密
function getParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = location.search.substr(1).match(reg);
if (r != null) return unescape(decodeURI(r[2]));
return null;
}