ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript---ビーコン画像ビーコンはデータを送信します

JavaScript---ビーコン画像ビーコンはデータを送信します

一个新手
一个新手オリジナル
2017-09-09 10:33:241607ブラウズ


はじめに

このテクノロジーは、JavaScript を使用して新しい Image オブジェクトを作成し、サーバー上のスクリプト URL に src 属性を設定します。この URL には、返したいキー値が含まれています。データに GET します。img 要素は作成されず、DOM に挿入されないことに注意してください。

var url = '/status_tracker.php';var params = [        
'step=2',        
'time=1248027314'
    ]
    (new Image()).src = url + '?' + params.join('&');

サーバーはデータを受信して​​保存します。クライアントにフィードバック メッセージを送信する必要がないため、実際には画像は送信されません。これはサーバーにとって情報を返すための最も効率的な方法であり、サーバー側のエラーはクライアントにまったく影響しません。 POST データを送信することはできず、URL には最大値があるため、送信できるデータの長さはかなり制限されています。ただし、サーバーから返されるデータを受信することはできます。方法はいくつかありますが、

イベントをリッスンすることで、サーバーがデータを正常に受信したかどうかを確認し、サーバーから返された画像の幅と高さを確認して使用することもできます。これらの数値はサーバーのステータスを通知します。たとえば、幅 1 は「成功」を意味し、2 は「再試行」を意味します。応答でデータを返す必要がない場合は、204 を送信する必要があります。メッセージ本文のないコンテンツ ステータス コード。これにより、クライアントがメッセージ テキストを待ち続けることがなくなります。

Image对象的load

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() {
    //出错
}

以上がJavaScript---ビーコン画像ビーコンはデータを送信しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。