基于javascript处理二进制图片流过程详解

 更新时间:2020年06月08日 09:56:27   作者:绝对密位  
这篇文章主要介绍了基于javascript处理二进制图片流过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

今天学习怎么生成二维码,我习惯所有请求都用ajax完成

但是今天发现jquery的ajax不支持二进制,只能搞纯文本

于是百度之后手动实现这一功能

function getBinary(url, args, success) {
  var xmlhttp = new XMLHttpRequest();
  var data = eval(args);
  var i = 0;
  for (var key in data) {
    if (i++ === 0) {
      url += '?' + key + "=" + data[key];
    } else {
      url += '&' + key + "=" + data[key];
    }
  }
  xmlhttp.open("GET", url, true);
  xmlhttp.responseType = "blob";
  xmlhttp.onload = function () {
    success(this.response);
  };
  xmlhttp.send();
}

我没有处理不同浏览器的XHR的问题 需要处理的在第一行搞就行

需要三个参数

地一个是请求url,第二个是请求参数,第三个是成功后的处理方法

请求参数用这样的方式

{‘param1':1,'param2':2,'param3':3}

处理方法要接收一个参数 就是响应的数据 也就是下图的data

然后是调用

function submit() {
  getBinary("/request/qrCode", {'data': $('#str').val()},
    function (data) {
      var img = $('#qrcode');
      window.URL.revokeObjectURL(img.src);
      $('#qrcode').attr('src', window.URL.createObjectURL(data));
    })
}

我这里是显示二维码

第五行的代码不能少 少了的话首次执行该方法没问题 再次执行的话图片不会改变 需要刷新页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅析Bootstrap缩略图组件与警示框组件

    浅析Bootstrap缩略图组件与警示框组件

    缩略图在网站中最常用的就是产品列表页面,一行显示几张图片,有的在图片底下带有标题、描述内容、按钮等信息。本文给大家介绍Bootstrap缩略图组件与警示框组件,感兴趣的朋友一起学习吧
    2016-04-04
  • 详解使用JS如何制作简单的ASCII图与单极图

    详解使用JS如何制作简单的ASCII图与单极图

    这篇文章主要给大家介绍了使用JS如何制作简单的ASCII图与单极图的相关资料,文中介绍的非常详细,并在文末给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • webpack 打包压缩js和css的方法示例

    webpack 打包压缩js和css的方法示例

    本篇文章主要介绍了webpack 打包压缩js和css的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • BootStrap轮播HTML代码(推荐)

    BootStrap轮播HTML代码(推荐)

    本文给大家分享bootstrap轮播h tml代码,代码简单易懂非常不错,具有参考借鉴,需要的朋友参考下吧
    2016-12-12
  • RxJS中四种Subject的用法和区别

    RxJS中四种Subject的用法和区别

    RxJS中有四种不同类型的Subject,它们分别是Subject、BehaviorSubject、ReplaySubject和AsyncSubject,本文将介绍这四种Subject的用法、区别以及适用的应用场景,并提供代码示例,需要的朋友可以参考下
    2023-07-07
  • 一文带你搞懂面试率超高的JS事件循环

    一文带你搞懂面试率超高的JS事件循环

    事件循环是 JavaScript 中一个非常重要的概念,下面就来看看浏览器和 Node.js 中的事件循环的原理,以及两者之间的差异,感兴趣的可以了解一下
    2022-10-10
  • csdn 批量接受好友邀请

    csdn 批量接受好友邀请

    说实话,加好友的太多了,怎么办,想个批量的办法吧
    2009-02-02
  • 基于JS实现任务队列的示例代码

    基于JS实现任务队列的示例代码

    顾名思义,任务队列就是存放任务的队列,队列中的任务都严格按照进入队列的先后顺序执行,所以下面我们就来看看如何基于JS实现任务队列吧
    2023-08-08
  • js根据日期判断星座的示例代码

    js根据日期判断星座的示例代码

    本篇文章主要是对js根据日期判断星座的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • Javascript 函数对象的多重身份

    Javascript 函数对象的多重身份

    函数对象是javascript 中一个很特殊的对象,其特殊体现在他的多重身份上。
    2009-06-06

最新评论