3 Stimmen

jQuery: Ist es möglich, Daten kontinuierlich aus einer Anfrage zu lesen?

Ich habe eine Serverseite, die, wenn sie aufgerufen wird, Daten erzeugt. Für dieses Beispiel, lassen Sie uns sagen, es gibt ein neues Zeichen alle 100 ms, bevor es nach 1-60 Sekunden beendet.

Vom Client aus möchte ich die Daten aus dieser Anfrage in einem bestimmten Intervall lesen können, z.B. alle 200 ms. Aber - und das ist wichtig - ich kann diese Seite nicht erneut aufrufen, es muss dieselbe Anfrage sein.

Das Problem ist, dass, wenn ich jQuery.ajax verwende, die Erfolgsfunktion nur ausgeführt wird, wenn die Anforderung abgeschlossen ist. Das bedeutet, dass ich nur die vollständigen Daten erhalte, und das auch erst nach (schlimmstenfalls) 60 Sekunden.

Ein Traum wäre es, wenn ich etwas in dieser Richtung haben könnte:

$.ajax({ 
        type: "GET",
        url: "/continouscontent",
        dataType: "html",
        success: function(data) {
                    alert('Done');
                 },
        pollInterval: 200,
        onPoll: function(data) {
                    alert('Current data is: ' + data);
                 }
        });

Im obigen Code sind pollInterval und onPoll natürlich meine spekulativen Ideen.

2voto

Tatu Ulmanen Punkte 119424

In Ihrem Fall möchten Sie wahrscheinlich nicht abfragen, sondern vom Server pushen, was mit dem Bayeux-Protokoll erreicht werden kann. Sehen Sie sich diese Antwort an, um einige Hinweise zu erhalten:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X