1. 问题描述
今天,我在写我的记账本的主界面,想在右上角加一个用户名提示,需要我把登陆界面的用户名传递给主界面,输入英文可以,输入汉字,发现显示在右上角的是乱码。
2. 解决办法
看这个乱码眼熟,我发现这个是WEB服务器不能识别汉字就进行了额外处理(对汉字编码)。。
那我可以在传参前对其编码,让web服务器识别,然后在接收那头对其解码。
所以这里用到了JS的编码函数escape, escape可以把数据变为能被大部分计算机识别的信息, 与之配套的是unescape。
3. 实现
在登陆界面,
messg = xmlHttp.responseText.trim();
if(messg == "查询成功")
{
window.location.href = "mainMenu.html?userName=" + escape(userNameElem.value);
}
在主界面,
//。。。。。。。。。。。。。。。。。。。。
userElem.innerHTML = unescape(window.location.search.split("=")[1]);
//。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。