Thread asynchrones ajax und zwischenergebnis (19 answers)
Opened by Froschpopo at 2007-11-19 15:37

Froschpopo
 2007-11-19 15:53
#102584 #102584
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
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
32
33
34
35
36
37
38
39
40
41
42
function AjaxRequest(adresse, id) {

var req = null;
try{
req = new XMLHttpRequest();
} catch (ms){
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (nonms){
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed){
req = null;
}
}
}

if (req == null)
alert("Error creating request object!");
req.open("GET", adresse, true);

req.onreadystatechange = function() {
switch(req.readyState) {
case 4:
if(req.status!=200) {
alert("Fehler:"+req.status);
}else{
document.getElementById(id).innerHTML = req.responseText;

}
break;

default:
return false;
break;
}
};

req.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
req.send(null);
}


Was ich machen will ist im Grunde folgendes:
Ich möchte die Zielseite die durch den AjaxRequest ermittelt wurde vorher auswerten, bevor ich sie mit innerHTML ans Dokument weitergebe.

Das könnte z.B. so aussehen:
Angenommen die Zielseite (adresse) darf nur von authorisierten Usern ausgeführt werden. Ob jemand authorisiert ist, wird aber erst bei adresse ermittelt. Das Callback wäre dann 1 oder 0.
Wie kann ich jetzt in AjaxRequest ein alert() ausgeben, wenn das Ergebnis 0 ist?

Also quasi sowas wie das hier:

Code: (dl )
1
2
if (req.responseText == 0)
alert("Du bist nicht berechtigt die Seite anzufordern");


Ein "return 0" hab ich mir ja mittlerweile schon fast abgeschminkt. Glaub sowas ist echt nicht möglich bei asynchroner arbeitsweise.
Was ja noch cooler wäre, wenn ich einfach "forbidden" als HTTP-Status zurückliefere, aber ich befürchte hier Browser-Probleme.

View full thread asynchrones ajax und zwischenergebnis