码迷,mamicode.com
首页 > 其他好文 > 详细

ajax中获取和发送二进制数据的方法

时间:2014-06-09 20:50:01      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:c   class   code   a   http   ext   

来源:三联教程 | 时间:2013-06-08 17:51:48

 用ajax从服务器端获取二进制时, 需要用overrideMimtType设置request头,让浏览器不要修改读取的的数据,方法如下:

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function(){

if (xhr.readyState=== 4 && xhr.status === 200){

var imgdata = xhr.response;

}

}

xhr.open("GET",url,true);

xhr.overrideMimeType("text/plain; charset=x-user-defined");

xhr.send(null);

另外要用xhr.response来获得二进制数据,而不是responseText。

如果需要通过ajax的POST发送二进制数据,在发送前需要将二进制数据的高位变为0,通常在XMLHttpRequest中增加一个方法来实现:

XMLHttpRequest.prototype.sendAsBinary = function(datastr) {

function byteValue(x) {

return x.charCodeAt(0) & 0xff;

}

var ords = Array.prototype.map.call(datastr, byteValue);

var ui8a = new Uint8Array(ords);

this.send(ui8a.buffer);

}

var bindata = 二进制数据;

xhr.open("POST", url);

xhr.sendAsBinary(bindata);

原文链接:http://www.webjzt.com/zhishi/jianzhan/1251.html

ajax中获取和发送二进制数据的方法,布布扣,bubuko.com

ajax中获取和发送二进制数据的方法

标签:c   class   code   a   http   ext   

原文地址:http://www.cnblogs.com/mrcrazy/p/3776972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!