溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于javascript處理二進(jìn)制圖片流過程的代碼詳解

發(fā)布時(shí)間:2020-07-18 09:33:39 來源:億速云 閱讀:226 作者:小豬 欄目:web開發(fā)

這篇文章主要講解了基于javascript處理二進(jìn)制圖片流過程的代碼詳解,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

今天學(xué)習(xí)怎么生成二維碼,我習(xí)慣所有請求都用ajax完成

但是今天發(fā)現(xiàn)jquery的ajax不支持二進(jìn)制,只能搞純文本

于是百度之后手動(dòng)實(shí)現(xiàn)這一功能

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的問題 需要處理的在第一行搞就行

需要三個(gè)參數(shù)

地一個(gè)是請求url,第二個(gè)是請求參數(shù),第三個(gè)是成功后的處理方法

請求參數(shù)用這樣的方式

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

處理方法要接收一個(gè)參數(shù) 就是響應(yīng)的數(shù)據(jù) 也就是下圖的data

然后是調(diào)用

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

我這里是顯示二維碼

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

看完上述內(nèi)容,是不是對基于javascript處理二進(jìn)制圖片流過程的代碼詳解有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI