[javascript] xmlhttp - problemen met refreshen in IE

Pagina: 1
Acties:

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Ik ben bezig een webbased email toestand ding te maken, waarbij ik de mappen in een divje laad en de emails e.d. in een andere div. Daarvoor gebruik ik deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 function loadXmlFile(sUri, ShowInDiv)
 {
    var done = function ()
    {
        try
        {
            document.getElementById(ShowInDiv).innerHTML = xmlHttp.responseText;
        }

        catch (exc)
        {
            document.getElementById(ShowInDiv).innerHTML = "An error occured <br/>" +
                "Message: " + exc.message + "<br/>" +
                "File: " + exc.fileName + "<br/>" +
                "Line: " + exc.lineNumber + "<br/>" +
                "Name: " + exc.name;
        }
    };
    
    var xmlHttp = XmlHttp.create();
    xmlHttp.open("GET", sUri);

    xmlHttp.onreadystatechange = function ()
    {
        if (xmlHttp.readyState == 4)
            done();
    }
    document.getElementById(ShowInDiv).innerHTML = progressText;

    xmlHttp.send(null);
 }
(het omvat in feite nog veel meer code, maar dit is om een beetje een idee te krijgen)

In mozilla werkt dat perfect, maar in IE alleen niet - die lijkt alles namelijk te cachen. En dat is erg lastig want op die manier zie je het niet meer als je een nieuwe email heb.
Dus stel ik klik op de inbox en daarna op de map sent dan moet ie heel even 'nadenken' en displayed die dan vervolgens. Als ik van sent dan weer naar de inbox klik dan zet ie 'm gelijk neer, zonder het bestand op de server aan te spreken. Weet iemand hoe ik het kan forceren dat ie dat wel doet? (heb voor de zekerheid geprobeerd om in de headers van dat bestand te zetten dat het niet gecached mag worden...maar dat hielp - zoals ik wel verwachte, gezien de methode - niet

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

[google=XmlHttp caching] :?
Banged my head against the XMLHTTP object, because for some reason it was caching every request. Im sure our server is messed up, but it wouldn't be sending the requests to Zope, it would happily cache them indefinitely. I read through MSDN for a long time and still couldn't find a solution. I set cache-control headers all through Zope to no avail. In the end I threw in a stupid hack to make each request have a unique query string appended to the end of it. XMLHTTP doesnt cache it then.
:)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
"done" & "xmlHttp" global maken ?

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
code:
1
2
3
4
5
6
7
    var runTime = new Date();
    var day = runTime.getDay();
    var hours = runTime.getHours(); 
    var minutes = runTime.getMinutes(); 
    var seconds = runTime.getSeconds(); 
    var tijd = day+''+hours+''+minutes+''+seconds;
    gotoUrl = gotoUrl+'&kutcache='+tijd;

Ik gebruik dit stukje code nu om een unieke url te creeren. Ik vroeg me alleen af of die string met de tijd niet makkelijker kan. In php zou je heel simpel bijv. dit kunnen doen:
gotoUrl = gotoUrl.date("dHis");

[ Voor 17% gewijzigd door marty op 10-04-2003 21:10 ]


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

code:
1
var tijdInMillies = new Date().getTime();


gegarandeerd uniek :)

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:06

crisp

Devver

Pixelated

Clay schreef op 10 April 2003 @ 22:20:
code:
1
var tijdInMillies = new Date().getTime();


gegarandeerd uniek :)
yups, gebruik ik ook in de GoT Tracker om lastige proxies te foppen :)

Intentionally left blank

Pagina: 1