基于javascript處理二進(jìn)制圖片流過(guò)程詳解
今天學(xué)習(xí)怎么生成二維碼,我習(xí)慣所有請(qǐng)求都用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();}
我沒(méi)有處理不同瀏覽器的XHR的問(wèn)題 需要處理的在第一行搞就行
需要三個(gè)參數(shù)
地一個(gè)是請(qǐng)求url,第二個(gè)是請(qǐng)求參數(shù),第三個(gè)是成功后的處理方法
請(qǐng)求參數(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í)行該方法沒(méi)問(wèn)題 再次執(zhí)行的話圖片不會(huì)改變 需要刷新頁(yè)面
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法2. idea配置jdk的操作方法3. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)4. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法5. python 浮點(diǎn)數(shù)四舍五入需要注意的地方6. Springboot 全局日期格式化處理的實(shí)現(xiàn)7. VMware中如何安裝Ubuntu8. Docker容器如何更新打包并上傳到阿里云9. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題10. JAMon(Java Application Monitor)備忘記
