欢迎来到山村网

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

2019-03-02 10:03:54浏览:214 来源:山村网   
核心摘要:  用ajax从服务器端获取二进制时, 需要用overrideMimtType设置request头,让浏览器不要修改读取的的数据,方法如下:  var

  用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);

(责任编辑:豆豆)
下一篇:

TinyMCE不能插入媒体播放器的解决方案

上一篇:

使用xml布局菜单

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com