【 tulaoshi.com - Web开发 】
1.ajax,action中response返回的xml文档格式错误时,eclipse debug进入不到action中.
2.ajax缓存问题,需要加入xmlHttp.setRequestHeader(”If-Modified-Since”,”0″);便可解决.
3.如果不是ajax提交,而设置了PrintWriter out = response.getWriter();则jsp会产生中文乱码.
4.ajax返回xml乱码的原因
response.setContentType(”text/xml;charset=GBK”);
PrintWriter out = response.getWriter();
这样才起作用,如果这样:
PrintWriter out = response.getWriter();
response.setContentType(”text/xml;charset=GBK”);
那么response.setContentType(”text/xml;charset=GBK”);就不起作用了所以返回是乱码,这个问题搞了很久,代码还得仔细看啊.
5.ajax表单提交
xmlHttp.setRequestHeader(”Content-Type”,”application/x-www-form-urlencoded”);
由于传过去的是utf-8编码的,所以在action 或servlet中接受时要进行相应转码
6. 动态页的客户端网页缓存Ajax不运行
在做注册程序验证码用户名是否可用、在线上传文件、删除文件、投票程序等不需要刷新网页即可出现结果的程序的时候,可能需要用到Ajax。其原理是JavaScript通过onChange、onClick、onMouseOut等事件取读网页当前的一些用户操作的数据,然后将这个数据传送给一个动态网页进行处理。
Ajax调用的动态页,应该要让这个动态页不载入客户端的缓存。同理,Blog的Trackback程序,经常无法接收信息,可以尝试在Trackback程序的动态页写入前使其不写入缓存的语句。
另外,也可以程序代码
+math.random();
使得每次提交一个随机数来避免客户端缓存。