HighDots Forums  

resObjekt.responseText wird im IE nicht erneuert?

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss resObjekt.responseText wird im IE nicht erneuert? in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Lars Kampmann
 
Posts: n/a

Default resObjekt.responseText wird im IE nicht erneuert? - 11-04-2007 , 08:07 AM






Hallo,

ich habe im Zusammenhang mit einer Suggest-Funktion folgenden Response:

function handleResponse() {
document.getElementById("antwort").style.visibilit y = "visible";
if(resObjekt.readyState == 4){
document.getElementById("antwort").innerHTML = resObjekt.responseText;
}
}

Die "antwort" ist als span-Element in der Seite eingebunden und zeigt
letztendlich ein textarea-Formularelement an. Voreinstellung:

#antwort{
visibility : hidden;
}

Der Eingabewert wird mit dieser Funktion abgefeuert (Bsp: nachname):

function sndReq() {
if(document.f1.nachname.value !=""){
resObjekt.open('get', 'suggests.php?nachname=' +
escape(document.f1.nachname.value.toLowerCase()) ,true);
resObjekt.onreadystatechange = handleResponse;
resObjekt.send(null);
}
else {
document.getElementById("antwort").style.visibilit y = "hidden";
}
}


suggests.php generiert den Response (Datenbankabfrage):

$text = '<textarea ... </textarea>';

Das funktioniert auch mit FF2 und IE7. Nur, wenn in der DB Einträge
hinzukommen, so berücksichtigt das der IE nicht. Auch das Neuladen der
Seite hilft nicht. Erst IE-Browser zu und wieder auf hilft.

Dann habe ich mir mal alert(resObjekt.responseText) ausgeben lassen und
siehe da, der responseText ist beim IE noch der alte. Die suggests.php
wird offensichtlich auch nicht noch mal abgearbeitet(?)

document.getElementById("antwort").innerHTML = resObjekt.responseText;
------------
Ist das ein bekannte IE-Bug? Kann man ihm beibringen, dass er immer
einen aktuellen Response macht (ohne zu und auf)?

Danke für Tipps, Gruß Lars






Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: resObjekt.responseText wird im IE nicht erneuert? - 11-04-2007 , 09:15 AM






Lars Kampmann wrote:
------------
Quote:
Ist das ein bekannte IE-Bug? Kann man ihm beibringen, dass er immer
einen aktuellen Response macht (ohne zu und auf)?
Eventuell liest der Browser aus seinem Cache. Per client-seitigem Script
sollte man das durch
resObjekt.open('get', 'suggests.php?nachname=' +
escape(document.f1.nachname.value.toLowerCase()) + '&time=' + new
Date().getTime() ,true);
verhindern können.

Ansonsten setze per PHP entsprechende HTTP Header, die das Cachen
verhindern.


--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #3  
Old   
Lars Kampmann
 
Posts: n/a

Default Re: resObjekt.responseText wird im IE nicht erneuert? - 11-04-2007 , 09:28 AM



Martin Honnen schrieb:
Quote:
Eventuell liest der Browser aus seinem Cache. Per client-seitigem Script
sollte man das durch
resObjekt.open('get', 'suggests.php?nachname=' +
escape(document.f1.nachname.value.toLowerCase()) + '&time=' + new
Date().getTime() ,true);
verhindern können.
Super, danke, das hat schonmal funktioniert.

Ansonsten setze per PHP entsprechende HTTP Header, die das Cachen
verhindern.



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.