Cette fois, je vais vous montrer comment Ajax envoie et reçoit des données d'octets binaires. Quelles sont les précautions pour qu'Ajax envoie et reçoive des données d'octets binaires. Jetons un coup d'œil. .
La norme HTML5 Ajax 2.0 a amélioré de nombreuses fonctions d'Ajax, notamment l'envoi de données FormData, le téléchargementde donnéesbarre de progression et de nombreuses autres fonctions. Mais en fait, Ajax peut envoyer des données binaires par octets.
Envoyer des données binaires
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);
ou
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);
Recevoir des données binaires
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);
Bien sûr, les paramètres ci-dessus ne peuvent être que de type texte. S'il s'agit de type Blob, les opérations suivantes peuvent être effectuées
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();
ou
var oReq = new XMLHttpRequest(); oReq.open("GET", "/myfile.png", true); oReq.responseType = "blob"; oReq.onload = function(oEvent) { var blob = oReq.response; // ... }; oReq.send();
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; }
Comment JSONP gère l'accès inter-domaines Ajax
Surveillance globale des opérations ajax, que faire si la session utilisateur échoue en cours de traitement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!