基于javascript處理二進制圖片流過程詳解

 更新時間:2020-06-14 00:01:16   作者:佚名   我要評論(0)

今天學習怎么生成二維碼,我習慣所有請求都用ajax完成
但是今天發現jquery的ajax不支持二進制,只能搞純文本
于是百度之后手動實現這一功能


function getBinary(u

今天學習怎么生成二維碼,我習慣所有請求都用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));
    })
}

我這里是顯示二維碼

第五行的代碼不能少 少了的話首次執行該方法沒問題 再次執行的話圖片不會改變 需要刷新頁面

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

  • JS字符串與二進制的相互轉化實例代碼詳解
  • JavaScript讀寫二進制數據的方法詳解
  • js操作二進制數據方法
  • 詳解nodeJS之二進制buffer對象
  • JavaScript讀二進制文件并用ajax傳輸二進制流的方法
  • JavaScript前端開發之實現二進制讀寫操作
  • Node.js中使用Buffer編碼、解碼二進制數據詳解
  • js 顯示base64編碼的二進制流網頁圖片

相關文章

  • 基于javascript處理二進制圖片流過程詳解

    基于javascript處理二進制圖片流過程詳解

    今天學習怎么生成二維碼,我習慣所有請求都用ajax完成 但是今天發現jquery的ajax不支持二進制,只能搞純文本 于是百度之后手動實現這一功能 function getBinary(u
    2020-06-14

最新評論

买宝宝用品赚钱吗 11选5前三破解算法 福建11选5助手 跌停洗盘后暴涨的股 加拿大快乐8app 福彩湖北快3开奖结果 快乐赛车是官彩 真钱手机棋牌哪个好 江西11选五5奖金 #NAME? 白小姐四肖五码 福建快三遗漏基本走势图 三分pk拾计划网页 体彩江苏7位数怎么中奖 彩票买大小单双技巧 快乐10分云南前三直 常用股票分析方法