Frage

Ich mache eine Anforderung an ein CGI-Programm mit AJAX. Die Antwort sendet mir Content-Length. Mein Ziel ist es dynamisch die Antwort Fortschritt zu zeigen. Dafür brauche ich eine Funktion auf onreadystate Wert von XHR-Objekt starten 3. Aber der Wunsch scheint nicht, dass die Statusnummer zu erwerben zu sein. Stattdessen geht es direkt vom Zustand 1 in den Zustand 4. Was bin ich?

War es hilfreich?

Lösung

Die Antwort so schnell gehen könnte, dass man es einfach nicht merken, im Zustand 3. Vor allem, wenn Sie es auf localhost laufen, könnte die Reaktion sehr schnell übertragen werden. Sie könnten versuchen, einen Alarm einstellen, wenn es bekommt 3 auf der Bühne zu testen, ob es dort tatsächlich wird immer. Auch ich glaube Internet Explorer sagt, dass es ein Fehler ist, die Reaktion in der Stufe 3 so zugreifen könnte es Kompatibilitätsprobleme sein.

Andere Tipps

Wenn Sie auf localhost laufen lassen, dann ist wahrscheinlich der Browser nie eine Chance bekommt zwischen der Zeit, es sendet die Anfrage und die Zeit, es wird die Antwort zu laufen ...

  1. Browser öffnet Verbindung setzt readystate zu 1
  2. Browser sendet Paket an Server-Prozess
  3. Server-Prozess empfängt Paket, erhält Priorität von Scheduler
  4. Server liefert Daten zum Browser, und die Ausbeuten der Steuerung der CPU. Browser setzt die Ausführung.
  5. Browser sieht alle Daten empfangen worden ist, setzt Readystate bis 4.

Lange Rede kurzer Sinn: zählen nicht in die „empfangenden“ Zustand auf dem Gehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top