AJAX (Asynchronous JavaScripting and XML) Forum
   Forum über „Asynchronous JavaScripting and XML“ und Web 2.0    AJAX Forum AJAX Blog AJAX Wiki AJAX Bücher

Zurück   AJAX (Asynchronous JavaScripting and XML) Forum > Für Entwickler > Sonstige Probleme


Digitalkamera
Antwort
 
LinkBack (2) Themen-Optionen
Alt 16.01.2006, 13:24   2 links from elsewhere to this Post. Click to view. #1 (permalink)
Neuer Benutzer
 
Registriert seit: 16.01.2006
Ort: Basel, CH
Beiträge: 1
Standard Request hängt sich unter IE auf

Hallo,

In einem Administratorenbereich können Admins einer Website Berichte editieren.
Diese Berichte können auch Beilagen, in From einer Datei haben. Um diese Dateien zu löschen rufe ich einen xHttpRequest auf,
welcher ein phpScript ansteuert, dass die Datei im FileSystem und die Referenz in der DB löscht und eine Erfolgsmeldung zurück gibt.
Auf der Adminseite kann man auch Text eingeben sowie Dateien uploaden.
Dies geschieht 'normal' per POST, dazu gebe ich noch ein Parameter mit GET (an die URL angehängt) mit.

Unter Firefox funktioniert das alles Problemlos. Der IE jedoch macht nur bedingt in diesem Spiel mit.
Sobald ich einen normalen Request losgeschickt habe, funktioniert der xHttp Request nicht mehr.
Er erreicht das phpScript überhaupt nicht mehr.
Als Feedback erhalte ich allenfalls die Antwort eines vorherigen xHttpRequests.

Mir ist dieses Verhalten schleierhaft, weiss jemand von Euch wieso das so ist und wie man es beheben kann,
bzw. das gewünschte Verhalten erzielen kann?

Der entsprechende JavaScript Teil im Head der Datei
Code:
function deleteFile(myUrl,attaLang) 
{
    if(window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest(); 
    } else if(window.ActiveXObject) {
       try{
        xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); 
       } catch(e) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
       }
    } else {
        return false;
    }
    
    xmlhttp.open("GET", myUrl, true);
	document.getElementById('deletingImg'+attaLang).style.display='inline';
	document.getElementById('deleteBtn'+attaLang).style.display='none';


    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState == 4) { 
         //window.setTimeout("removeDelImg()", 550);
         //removeDelImg();
         window.setTimeout("document.getElementById('deletingImg"+attaLang+"').style.display='none'; document.getElementById('deleteBtn"+attaLang+"').style.display='none'; document.getElementById('attaExistLink"+attaLang+"').style.display='none'; document.getElementById('deleteConfirmMsg"+attaLang+"').style.display='inline';", 250);
		}
    }
    
    function removeDelImg() {
		attaLang_callback=xmlhttp.responseXML.getElementsByTagName('attaLang')[0].firstChild.nodeValue;
		document.getElementById('deletingImg'+attaLang).style.display='none';
		document.getElementById('deleteBtn'+attaLang).style.display='none';
		document.getElementById('attaExistLink'+attaLang).style.display='none';
		document.getElementById('deleteConfirmMsg'+attaLang).style.display='inline';
   }
    xmlhttp.send(null); 
}
Das Aufrufende HTML Element
Code:
<input class="cpOrig" type="button" value="Beilage jetzt l&ouml;schen" id="deleteBtnIT" onclick="deleteFile('deleteFile.php?msgID=1&attaLang=IT','IT')" <?php if ($arrEntryData['publikationenUriIT']=='') {print 'style="display:none;"';}?> />
Besten Dank

el_migu_el
el_migu_el ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


LinkBacks (?)
LinkBack to this Thread: http://www.ajax-community.de/sonstige-probleme/2855-request-haengt-ie.html
Erstellt von For Type Datum
AJAX-Community Blog » Allgemein This thread Refback 05.01.2007 15:52
AJAX-Community Blog » Wie geil Internet Explorer sein könnte This thread Pingback 05.01.2007 08:43


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.