httpRequest

Ntti

Mitglied
folgendes problem:

mein script soll 2 httprequests auf 2 verschieden seiten machen, sich da xml, html oder so holen und die docs verarbeite ich dann und mach nur ein file draus

wenn ich die 2 httprequests nacheinander aufrufe funktioniert der erste nicht ganz, also der handler http_request.onreadystatechange = handler1; tut garnichts.
wenn ich aber den 2 request ausklammere oder den ersten also wenn ich sie nicht zusammen aufrufe funktionieren beide sowie sie sollten

ich hab für jeden request eine methode gemacht und ein eigenes handler weil die nicht das gleiche format liefern

Ich weiß nicht vielleicht muss ma da irgendwelche atrribute auf true oder false beim request setzen ich kenn mich da net so ganz aus.

Freue mich über eure Ratschläge!
Danke und lg Ninette
 
ok hier ist der code dazu :

Code:
var xmldoc;
var thaliadata;

function verarbeiten(request_a,request_t){

macheRequesta(request_a);
macheRequestt(request_t);
var response = transform(xmldoc);
if(response==null){alert("transformation beim aufrufen fehlgeschlagen");}
var path=saveDoc(response);
path="file:///"+ path;
var fenster= document.getElementById('file');
fenster.setAttribute("src",path);
}
    function macheRequesta(url) {
        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');  
				        }
        }
        if (!http_request && typeof XMLHttpRequest!='undefined') {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        http_request.onreadystatechange = alertInhalt;
        http_request.open('GET', url);
        http_request.send(null);

    }
function macheRequestt(url){
	http_request=false;
	 if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/html');  
				        }
        }
	if (!http_request && typeof XMLHttpRequest!='undefined') {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
	http_request.onreadystatechange = alertInhalt2;
    http_request.open('GET', url);
    http_request.send(null);
	}

    function alertInhalt() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
	xmldoc=http_request.responseXML;
		var intErgebnise = getValues(xmldoc,'TotalResults'); 
		alert(intErgebnise);
	if(xmldoc==null){alert("Plaintext");}
            } else {  alert('Bei dem Request ist ein Problem aufgetreten.'+ http_request.status); }
        }
    }


 function alertInhalt2() {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
thaliadata= http_request.responseText; //alert(thaliadata);
	if(thaliadata==null){alert("Plaintext thalia");}
            } else {  alert('Bei dem Request ist ein Problem aufgetreten.'+ http_request.status); }
        }
    }

Danke im Voraus!
lg Ninette
 
Zuletzt bearbeitet:
Code:
http_request = new XMLHttpRequest();

...auch wenn du da 2 Funktionen hast, du erstellst nur 1 Request-Objekt, da der Name identisch ist. Sobald eine der beiden Funktionen aufgerufen wird, wird der in der anderen Funktion erzeugte Request überschrieben.

Schau dir mal in deiner bevorzugten JS-Lektüre den Umgang mit selbsterstellten Objekten in JS an, diese dürften dein Skript übersichtlicher machen und den Fehler beheben :)
 
:) stimmt das wars ....danke dir vielmals

hab bis jetzt nichts mit javascript zu tun gehabt und muss zugeben mit einer lektüre hab ich mich nicht wirklich befasst ....ich dachte die variablen wären nach außen nicht sichtbar weil sie in ne methode sind ... werd aber versuchen dein rat zu befolgen

Lg Ninette
 

Neue Beiträge

Zurück