基于javascript處理二進(jìn)制圖片流過程詳解
今天學(xué)習(xí)怎么生成二維碼,我習(xí)慣所有請求都用ajax完成
但是今天發(fā)現(xiàn)jquery的ajax不支持二進(jìn)制,只能搞純文本
于是百度之后手動實(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的問題 需要處理的在第一行搞就行
需要三個參數(shù)
地一個是請求url,第二個是請求參數(shù),第三個是成功后的處理方法
請求參數(shù)用這樣的方式
{‘param1’:1,’param2’:2,’param3’:3}
處理方法要接收一個參數(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í)行的話圖片不會改變 需要刷新頁面
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. python中PyQuery庫用法分享3. python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明4. python將下載到本地m3u8視頻合成MP4的代碼詳解5. JavaScript實(shí)現(xiàn)組件化和模塊化方法詳解6. 使用css實(shí)現(xiàn)全兼容tooltip提示框7. python 爬取嗶哩嗶哩up主信息和投稿視頻8. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送9. CSS3實(shí)現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效10. Python編寫nmap掃描工具
