在利用ajax检测某个用户名是否存在时,如果只是一般的字母或数字字符,escape是够用的~
xmlhttp.open("get","Check_user.jsp?n="+escape(username));
但是如果遇到是中文字符时,如用户名为"小晓",那么
xmlhttp.open("get","Check_user.jsp?n="+escape(username));
则可能会出现if(xmlhttp.status==200)连接检测失败,即xmlhttp.status不为200;
或者出现获取意外值(结果与理想中的不一致);
解决方法:
xmlhttp.open("get","getuserinf.jsp?name="+ encodeURIComponent(name),false);
encodeURIComponent会将中文字符转换成UTF-8编码,而UTF-8对中文支持比较好,我们在检测端再用:
String cname=request.getParameter("cname");
cname= new String(cname. getBytes("iso-8859-1"),"UTF-8");
就OK了~
xmlhttp.open("get","Check_user.jsp?n="+escape(username));
但是如果遇到是中文字符时,如用户名为"小晓",那么
xmlhttp.open("get","Check_user.jsp?n="+escape(username));
则可能会出现if(xmlhttp.status==200)连接检测失败,即xmlhttp.status不为200;
或者出现获取意外值(结果与理想中的不一致);
解决方法:
xmlhttp.open("get","getuserinf.jsp?name="+ encodeURIComponent(name),false);
encodeURIComponent会将中文字符转换成UTF-8编码,而UTF-8对中文支持比较好,我们在检测端再用:
String cname=request.getParameter("cname");
cname= new String(cname. getBytes("iso-8859-1"),"UTF-8");
就OK了~