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


Posted in Javascript onJune 08, 2020

今天学习怎么生成二维码,我习惯所有请求都用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));
    })
}

我这里是显示二维码

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

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

Javascript 相关文章推荐
扩展String功能方法
Sep 22 Javascript
js字符编码函数区别分析
Jun 05 Javascript
Discuz! 6.1_jQuery兼容问题
Sep 23 Javascript
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
详谈 Jquery Ajax异步处理Json数据.
Sep 09 Javascript
基于jquery的固定表头和列头的代码
May 03 Javascript
jQuery实现公告文字左右滚动的实例代码
Oct 29 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
Aug 01 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
Feb 08 Javascript
剖析Angular Component的源码示例
Mar 23 Javascript
微信 jssdk 签名错误invalid signature的解决方法
Jan 14 Javascript
vue-router的hooks用法详解
Jun 08 #Javascript
Vue自定义render统一项目组弹框功能
Jun 07 #Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
Jun 07 #Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 #Javascript
vue路由权限校验功能的实现代码
Jun 07 #Javascript
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 #Javascript
JS原型对象操作实例分析
Jun 06 #Javascript
You might like
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
PHP面向对象详解(三)
2015/12/07 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
2013/11/27 Python
python友情链接检查方法
2015/07/08 Python
python适合人工智能的理由和优势
2019/06/28 Python
Python变量访问权限控制详解
2019/06/29 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
农场厂长岗位职责
2013/12/28 职场文书
监察建议书格式
2014/05/19 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技