2013-05-13 2 views
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 

    } 

Здравствуйте, У меня есть следующая проблема (код работает), то XMLHttpRequest (Ajax-вызов) refreches, когда я использую Firefox или Chrome (так он работает хорошо). Но IE 9.0+ кэширует XMLHttprequest, поэтому он никогда не обновляется. Я много читал об этой проблеме в Интернете, но я действительно не могу найти решение этой проблемы.Как дать XMLHttpRequest не катя в IE

Может ли кто-нибудь сказать мне возможности исправить это? Я думаю, что это исправление с использованием jquery ajax, но у меня нет мозгов, чтобы настроить весь этот скрипт на jquery. Некоторые говорят, что вы можете установить живое время на 0, но я не нахожу это. (Я передаю свой Ajax сервлетом) Кто-нибудь знает четкое, простое решение?

Большое спасибо

ответ

1

После того, как в принятой практикой является добавление случайного параметра в URL, как метки времени.

Добавить параметр как _d к URL со значением new Date().getTime()

Ex:

xmlhttp.open("GET","DokterWeek_KlantoverzichtServletAjax?_d=" + (new Date().getTime()) + '&' + $(this).prop("href").split("?")[1], true);//gettime will be the servlet name 
+0

Arun P Johny, еще раз спасибо за большой ответ! действительно отлично работает – RobinHo

Смежные вопросы