您好,登錄后才能下訂單哦!
這篇文章主要講解了基于javascript處理二進制圖片流過程的代碼詳解,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
今天學習怎么生成二維碼,我習慣所有請求都用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處理二進制圖片流過程的代碼詳解有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。