Heim > Web-Frontend > js-Tutorial > Hauptteil

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

亚连
Freigeben: 2018-05-23 17:34:40
Original
5371 Leute haben es durchsucht

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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();
Nach dem Login kopieren

oder

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

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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage