怎样解决用AJAX做唯一验证与数据库不能同步的问题?
在j2ee开发中,在添加数据时,我用ajax 对编号做了唯一验证,当我新添加一条数据后,马上又用统一个编号添加,ajax居然不能验证已存在,只有当项目重新启动后ajax才能验证已存在,我很是郁闷,怎样才能做到与数据库同步刷新,而不要重新启动项目呢?求各位大虾帮帮忙?
在j2ee开发中,在添加数据时,我用ajax 对编号做了唯一验证,当我新添加一条数据后,马上又用统一个编号添加,ajax居然不能验证已存在,只有当项目重新启动后ajax才能验证已存在,我很是郁闷,怎样才能做到与数据库同步刷新,而不要重新启动项目呢?求各位大虾帮帮忙?
答案:楼上的一看就知道是个学生,其实就是ajax缓存问题 。
下面提出几种解决方案:
1、加个随机数
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);
2、在要异步获取的asp页面中写一段禁止缓存的代码:
Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
3、在ajax发送请求前加上xmlHTTP.setRequestHeader("If-Modified-Since","0");可以禁止缓存
xmlHTTP.open("get", URL, true);
xmlHTTP.onreadystatechange = callHTML;
xmlHTTP.setRequestHeader("If-Modified-Since","0");
xmlHTTP.send();你做错了吧!
你有触发ajax的时间吧,数据传入后台和数据库进行比较,可以把结果返回到jsp页面!肯本就不需要重启项目,你肯定有逻辑性的错误!
上一个:求详解JSP中ajax无刷新技术,最好有Demo或者视频 .
下一个:Ajax请求的数据与数据库数据不统一,求各位大侠指点