Heim > Artikel > Web-Frontend > JavaScript---Beacons Bildbeacons senden Daten
Diese Technik ist der dynamischen Skriptinjektion sehr ähnlich. Verwenden Sie JavaScript, um ein neues Bildobjekt zu erstellen und das src-Attribut auf die Skript-URL auf dem Server festzulegen. Die URL enthält die Schlüssel-Wert-Paar-Daten, die wir über GET zurückgeben möchten. Bitte beachten Sie, dass das img-Element nicht erstellt oder in das DOM eingefügt wird.
var url = '/status_tracker.php';var params = [ 'step=2', 'time=1248027314' ] (new Image()).src = url + '?' + params.join('&');
Der Server empfängt die Daten und speichert sie Es ist nicht erforderlich, es an den Client zu senden. Der Client sendet keine Rückmeldungen, sodass tatsächlich kein Bild angezeigt wird. Dies ist die effizienteste Möglichkeit, Informationen an den Server zurückzusenden. Nebenfehler wirken sich überhaupt nicht auf den Client aus.
Image-Beacons sind einfach, aber das bedeutet auch, dass ihre Möglichkeiten eingeschränkt sind. Sie können keine POST-Daten senden und URLs haben eine maximale Länge. Daher ist die Länge der Daten, die Sie senden können, ziemlich begrenzt. Sie können vom Server zurückgegebene Daten empfangen, dies ist jedoch auf sehr wenige Arten beschränkt. Eine Möglichkeit besteht darin, das Image
-Ereignis des load
-Objekts abzuhören. Hier erfahren Sie, ob der Server die Daten erfolgreich empfangen hat. Sie können auch die vom Server zurückgegebene Breite und Höhe überprüfen (sofern es sich um ein Bild handelt) und diese Zahlen verwenden, um Sie über den Status des Servers zu informieren 1 bedeutet „Erfolg“, und eine Breite von 2 bedeutet „Wiederholen“.
Wenn Sie keine Daten in der Antwort zurückgeben müssen, sollten Sie einen 204-Kein-Inhalt-Statuscode ohne den Nachrichtentext senden. Dadurch wird verhindert, dass der Client weiterhin auf den Nachrichtentext wartet, der nie eintrifft.
var url = '/status_tracker.php';var params = [ 'step=2', 'time=1248027314' ] var beacon = new Image(); beacon.src = url + '?' + params.join('&'); beacon.onload = function( ) { if (this.width == 1) { //成功 } else if (this.width == 2) { //失败 } } beacon.onerror = function() { //出错 }
Das obige ist der detaillierte Inhalt vonJavaScript---Beacons Bildbeacons senden Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!