基于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 相关文章推荐
支持ie与FireFox的剪切板操作代码
Sep 28 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
Jun 12 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
快速掌握Node.js事件驱动模型
Mar 21 Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
Jul 31 Javascript
JS实现元素上下左右移动效果
Oct 18 Javascript
JavaScript判断变量名是否存在数组中的实例
Dec 28 Javascript
JavaScript实现微信号随机切换代码
Mar 09 Javascript
Javascript中prototype与__proto__的关系详解
Mar 11 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
Javascript编写俄罗斯方块思路及实例
2015/07/07 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
js实现车辆管理系统
2020/08/26 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
python使用urlparse分析网址中域名的方法
2015/04/15 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
Django压缩静态文件的实现方法详析
2018/08/26 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
销售副总经理岗位职责
2013/12/11 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
2014年学生会工作总结
2014/11/07 职场文书
地震捐款简报
2015/07/21 职场文书