Ich entwickelte mit Ajax Anruf und während des Debuggens, fand ich Ajax sendet Anfrage/Antwort so viel Zeit, als ich mir eigentlich vorgestellt.Ajax Anruf - bereit Statusfluss Verwirrung
Vor langer Zeit bekam ich ein gutes Dokument, das beschreibt, was hinter der Szene passiert, aber ich habe es verloren.
Heutzutage spricht Ajax-Tutorials im Web nur noch über das Codieren und die IF-Statement-Checks readystate == 4
und status == 200
, die keine gute Erklärung für jemanden wie mich bieten.
Ich testete den Fluss mit Code unten und Ausgabe ist ich denke, seltsam. Meine Verwirrung ist, warum bereit 4 Zustand zweimal auftaucht? Gemäß der Definition bereit 4 bedeutet abgeschlossen so sollte es keinen Grund geben, zweimal zu vervollständigen?
OUTPUT
START
ready 1 //loading
START
ready 2 //loaded
ready 2 status=200 //loaded
START
ready 3 //interactive
ready 3 status=200 //interactive
START
ready 4 //complete
START
ready 4 //complete ... again???
TEST CODE Snippet
xmlHttp.onreadystatechange = function() {
alert("START");
if(xmlHttp.readyState == 0) {
alert('ready 0');
alert('ready 0 status=' + xmlHttp.status);
}
if(xmlHttp.readyState == 1) {
alert('ready 1');
alert('ready 1 status=' + xmlHttp.status);
}
if(xmlHttp.readyState == 2) {
alert('ready 2');
alert('ready 2 status=' + xmlHttp.status);
}
if(xmlHttp.readyState == 3) {
alert('ready 3');
alert('ready 3 status=' + xmlHttp.status);
}
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert('ready 4');
}
}
Danke für den Tipp, nein, ich glaube nicht, dass ich abbrechen. obwohl ich mehr über Ajax-Verhalten suchen muss –