Heim >Web-Frontend >js-Tutorial >Ajax-Methode zum Senden und Empfangen von Binärbyte-Stream-Daten

Ajax-Methode zum Senden und Empfangen von Binärbyte-Stream-Daten

亚连
亚连Original
2018-05-23 17:34:405377Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zum Senden und Empfangen von Binärbyte-Stream-Daten vor. Es ist sehr gut und hat einen Referenzwert. Freunde, die interessiert sind, sollten es sich gemeinsam ansehen.

Im HTML5 Ajax 2.0 Standard, Erweiterungen Es verfügt über viele Funktionen von Ajax, einschließlich des Sendens von FormData-Daten, des Hochladens von Datenfortschrittsbalken und vieler anderer Funktionen. Tatsächlich kann Ajax jedoch Binärdaten byteweise senden.

Binärdaten senden

var oReq = new XMLHttpRequest();
oReq.open("POST", url, true);
oReq.onload = function (oEvent) {
// Uploaded.
};
var blob = new Blob(['abc123'], {type: 'text/plain'});
oReq.send(blob);

oder

var myArray = new ArrayBuffer(512);
var longInt8View = new Uint8Array(myArray);
for (var i=0; i< longInt8View.length; i++) {
longInt8View[i] = i % 255;
}
var xhr = new XMLHttpRequest;
xhr.open("POST", url, false);
xhr.send(myArray);

Binärdaten empfangen

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.byteLength; i++) {
}
}
};
oReq.send(null);

Natürlich kann die obige Einstellung nur vom Typ Text sein, dann kann Folgendes durchgeführt werden:

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var blob = new Blob([oReq.response], {type: "image/png"});
// ...
};
oReq.send();

oder

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "blob";
oReq.onload = function(oEvent) {
var blob = oReq.response;
// ...
};
oReq.send();

Wenn Sie eine alte Browserversion verwenden, kann das Laden der Binärdatei wie folgt erfolgen

function load_binary_resource(url) {
var req = new XMLHttpRequest();
req.open(&#39;GET&#39;, url, false);
//XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
req.overrideMimeType(&#39;text\/plain; charset=x-user-defined&#39;);
req.send(null);
if (req.status != 200) return &#39;&#39;;
return req.responseText;
}

Hinweis: x-user-defined weist den Browser an, die Daten nicht zu analysieren

Das Obige ist, wofür ich kompiliert habe Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.

Verwandte Artikel:

Verwenden Sie die Ajax-Technologie, um Produktmenge und Gesamtpreis-Beispielcode teilweise zu aktualisieren

Lösen Sie das Problem des Ajax-Zugriffs perfekt Problem mit ungültiger Sitzung

Der Grund, warum der interne Ajax-Wert nicht extern aufgerufen werden kann, und die Lösung

Das obige ist der detaillierte Inhalt vonAjax-Methode zum Senden und Empfangen von Binärbyte-Stream-Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn