日期:2014-05-18  浏览次数:20706 次

使用Ajax访问servlet出现一个奇怪的问题
今天在做项目时发现使用Ajax连接servlet时,只有第一次连接时执行了servlet中的代码,想了好久都没有想通,请大家帮看看这是到底是怎么回事?
我把关键代码 贴上 ,

<body>
   <a href="javascript:del()">删除</a>
  </body>
  <script type="text/javascript">
  function del(){
var url="DeleteServlet";
xmlHttp=createXmlHttpRequest();
xmlHttp.onreadystatechange=process;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
  }
function process(){
if(xmlHttp.readyState==4){
if (xmlHttp.status==200) {
alert("x");
}
}
}
后面 省略 ……

DeleteServlet中 就一句话,System.out.println("执行删除!");
每当我点击删除时,第一次在控制台打出了 '执行删除 '并且 弹出 'x' ,第二次第三次,控制台都没有打印出内容,但是 'x'还是能够弹出,请问这到底是怎么一回事?

------解决方案--------------------
删除没有参数?后面加个时间戳看看。
------解决方案--------------------
Ajax小技巧,后面加上时间戳可防止浏览器缓存数据