在ajax中解决浏览只读取缓存和中文字符乱码问题
实现原理:我们把提交到服务器端的URL的地址在每次提交时都让它与上一次不同,大家就会想到时间,这样服务器每次都接收到不同的URL,就不会读取缓存了。 解决中文乱码通常的2种方法: //1.页面端发出的数据做一次encodeURI,服务器端使用new String(name.getBytes("iso8859-1"),"UTF-8"); <script type="text/javascript" src="js/jquery-1.4.js"></script> <input id="name" ><input type="button" value="测试" onclick="testClick()"/> <br/><div id="msg"></div> 下面是服务器端: response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); //定义变量,存储连续请求的次数 Integer inte = (Integer)request.getSession().getAttribute("total"); int temp =0; if(inte==null){ temp = 1; }else{ temp = inte.intValue()+1; } request.getSession().setAttribute("total",temp); String nameStr = request.getParameter("name"); //String name = new String(nameStr.getBytes("iso8859-1"),"UTF-8"); String name = URLDecoder.decode(nameStr,"UTF-8"); PrintWriter out = response.getWriter(); if(name==null || name.length()==0){ out.print("用户名为空"+temp); }else{ if(name.equals("peter")){ out.print("用户名"+name+"正确"+temp); }else{ out.print("用户名"+name+"错误"+temp); } } out.flush(); out.close(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |