Heim > Web-Frontend > js-Tutorial > Hauptteil

So senden und empfangen Sie binäre Datenbytes mit Ajax

php中世界最好的语言
Freigeben: 2018-04-04 14:49:52
Original
2973 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Ajax Binärbyte-Daten sendet und empfängt. Das Folgende ist ein praktischer Fall. . Der HTML5-Ajax-2.0-Standard hat viele Funktionen von Ajax verbessert, darunter das Senden von FormData-Daten, das

Hochladen

DatenFortschrittsbalken und viele andere Funktionen. Tatsächlich kann Ajax jedoch Binärdaten byteweise senden.

Binärdaten senden

oder
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

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

Natürlich können die oben genannten Einstellungen nur vom Typ Text sein. Wenn es sich um den Typ Blob handelt, können Sie Folgendes tun:
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

oder
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

Wenn Sie eine alte Version des Browsers verwenden, kann das Laden der Binärdatei wie folgt erfolgen
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

Hinweis: x-benutzerdefiniert weist den Browser an, die Daten nicht zu analysieren
function load_binary_resource(url) {
var req = new XMLHttpRequest();
req.open('GET', url, false);
//XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
req.overrideMimeType('text\/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200) return '';
return req.responseText;
}
Nach dem Login kopieren

Ich glaube, Sie haben diesen Artikel gelesen. Sie beherrschen die Fallmethode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Wie JSONP den domänenübergreifenden Ajax-Zugriff handhabt


Globale Überwachung von Ajax-Operationen, was zu tun ist wenn die Verarbeitung der Benutzersitzung fehlschlägt

Das obige ist der detaillierte Inhalt vonSo senden und empfangen Sie binäre Datenbytes mit Ajax. 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