0
if(xmlhttp) { 
xmlhttp.open("GET","DokterWeek_KlantoverzichtServletAjax?" +   $(this).prop("href").split("?")[1],true);//gettime will be the servlet name
xmlhttp.onreadystatechange  = handleServerResponse;
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(null);
 }

});
});



function getXMLObject()  //XML OBJECT
{
var xmlHttp = false;
try {
 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
  }
  catch (e) {
   try {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
   }
   catch (e2) {
     xmlHttp = false   // No Browser accepts the XMLHTTP Object then false
     }
     }
   if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera,chrome Browsers
   }
    return xmlHttp;  // Mandatory Statement returning the ajax object created
   }





  var xmlhttp = new getXMLObject(); //xmlhttp holds the ajax object


     function handleServerResponse() {

   document.getElementById("pop1").innerHTML = xmlhttp.responseText; //Update the HTML              Form element 

  }

您好,我有以下问题(代码有效),当我使用 firefox 或 Chrome 时,xmlhttpRequest(ajax-call) 会刷新(所以效果很好)。但是 IE 9.0+ 缓存了 XMLHttprequest,所以它永远不会刷新。我在互联网上阅读了很多关于这个问题的信息,但我真的找不到任何解决这个问题的方法。

谁能告诉我解决这个问题的可能性?我认为使用 jquery ajax 可以解决这个问题,但我没有头脑将整个脚本调整为 jquery。有人说您可以将实时时间设置为 0,但我没有找到。(我与 servlet 通信我的 Ajax)有人知道一个清晰、更简单的解决方案吗?

非常感谢

4

1 回答 1

1

一种公认的做法是向 url 添加一个随机参数,如时间戳。

_d向带有值的 url添加一个参数new Date().getTime()

前任:

xmlhttp.open("GET","DokterWeek_KlantoverzichtServletAjax?_d=" + (new Date().getTime()) + '&' +   $(this).prop("href").split("?")[1], true);//gettime will be the servlet name
于 2013-05-13T02:58:35.033 回答