在做项目的时候有很多地方都要用到ajax,特别是当我们在同一页面上要频繁用ajax进行验证的时候,ajax缓存是一个很常见的要解决的问题,在这里我们可以通过在打开发送路径的时候添加一个随机数,这样的话每次发送的内容都不一样,就有效的避免了缓存问题,以下是处理这个问题的代码:
if($("#bbo").val()!="" && $("#brec").val()=="" && $("#bcname").val()==""){ //创建核心对象 var request=null; try{ request=new XMLHttpRequest(); }catch(e){ request=new ActiveXObject("microsoft.XMLHttp"); } //打开并发送,加随机数处理缓存问题 request.open("get","detain!checkreg.do?bbo="+$("#bbo").val()+"&ss="+Math.random()); //处理乱码 request.setRequestHeader("Content-Type","text/html;charset=gb2312"); request.send(null); //接收 request.onreadystatechange=function(){ if(request.readyState==4&&request.status==200){ txt=request.responseText; alert(txt); if(txt=="t"){ location="detain!toDetainInfo.do?bbo="+$("#bbo").val(); }else if(txt=="f"){ alert("对不起,您输入的船舶登记号不正确!"); }else if(txt=="n"){ alert("对不起,该船舶已经被扣押!"); } } } }