Ajax经验总结
1.解决IE的Cache问题:2种途径
(1)前台在request对象上设置 setRequestHeader()
req.setRequestHeader("If-Modified-Since","0");
<meta http-equiv=''Expires'' content=''-10''>
<meta http-equiv=''Pragma'' content=''No-cache''>
<meta http-equiv=''Cache-Control'', ''private''>
(2)后台服务器端返回时,设置相应的http头.
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0);
response.setHeader ("Expires", 0);
或者
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy - HH:mm:ss z");
response.setHeader("Expires", dateFormat.format(new Date()));
2.采用Ajax后,中文乱码的问题:
WEB服务器采用了TOMCAT5.5,前台的一个JSP页面向后台的一个Servlet提交请求,然后Servlet将中文结果信息通过XML文件out.println到输出流中,结果在前台通过http_request.getresponseXML得到的是乱码.在Servlet中也增加了response.setContentType("text/xml;charset=GBK");但仍然是乱码.
但这个问题在Resin服务器中就不存在,真郁闷死我了.
后来只有在网上找了个Escape的JAVA版本,在输出前先Escape一下,然后,在前端的JAVASCRIPT得到数据后在Unescape一下就可以了.