이 글에서는 Ajax가 바이너리 바이트 스트림 데이터를 보내고 받는 방법을 주로 소개합니다. 매우 훌륭하고 참고할만한 가치가 있습니다. 관심 있는 친구들은 함께 살펴보세요.
HTML5 Ajax 2.0 표준에는 Ajax의 많은 기능이 있습니다. FormData 데이터 전송, 데이터 진행률 표시줄 업로드 및 기타 여러 기능이 포함되어 있습니다. 그러나 실제로 Ajax는 바이너리 데이터를 바이트 단위로 전송할 수 있습니다.
바이너리 데이터 보내기
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);
또는
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);
바이너리 데이터 받기
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);
물론, 위의 설정은 Blob 유형일 경우에만 가능합니다.
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();또는
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; }참고: x-user-definition은 브라우저가 데이터를 구문 분석하지 않도록 지시합니다위 내용은 제가 모든 사람을 위해 편집되었으며, 앞으로 도움을 받을 때 모든 사람에게 도움이 되기를 바랍니다. 관련 기사:
Ajax 기술을 사용하여 제품 수량 및 총 가격 예제 코드를 부분적으로 새로 고침
Ajax 내부 값을 외부에서 호출할 수 없는 이유와 솔루션
위 내용은 바이너리 바이트 스트림 데이터를 보내고 받는 Ajax 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!