基于javascript處理二進(jìn)制圖片流過程詳解
今天學(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(); }
我沒有處理不同瀏覽器的XHR的問題 需要處理的在第一行搞就行
需要三個(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í)行該方法沒問題 再次執(zhí)行的話圖片不會(huì)改變 需要刷新頁(yè)面
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序?qū)崿F(xiàn)吸頂效果的方法實(shí)例
在微信小程序的開發(fā)中,經(jīng)常會(huì)有列表分類標(biāo)簽隨著界面滾動(dòng)吸頂?shù)男Ч?下面這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)吸頂效果的相關(guān)資料,需要的朋友可以參考下2021-08-08JS使用getComputedStyle()方法獲取CSS屬性值
經(jīng)常會(huì)用到j(luò)s來獲取元素的CSS樣式,由于方法眾多,在下面的文章中為大家詳細(xì)整理下2014-04-04基于javascript代碼實(shí)現(xiàn)通過點(diǎn)擊圖片顯示原圖片
這篇文章主要介紹了基于javascript代碼實(shí)現(xiàn)通過點(diǎn)擊圖片顯示原圖片的相關(guān)資料,需要的朋友可以參考下2015-11-11js設(shè)置鼠標(biāo)懸停改變背景色實(shí)現(xiàn)詳解
這篇文章主要介紹了js設(shè)置鼠標(biāo)懸停改變背景色實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06javascript進(jìn)行數(shù)組追加方法小結(jié)
javascript中給數(shù)組加元素是一個(gè)非常簡(jiǎn)單的問題,javascript本身就提供了大量這類函數(shù),我們可以使用js自帶函數(shù)快速給數(shù)組增加元素了,本文就javascript進(jìn)行數(shù)組追加的方法做出如下小結(jié)。2014-06-06Bootstrap簡(jiǎn)單實(shí)用的表單驗(yàn)證插件BootstrapValidator用法實(shí)例詳解
這篇文章主要介紹了Bootstrap簡(jiǎn)單實(shí)用的表單驗(yàn)證插件BootstrapValidator用法,結(jié)合實(shí)例形式詳細(xì)分析了Bootstrap表單驗(yàn)證插件BootstrapValidator基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-03-03js實(shí)現(xiàn)移動(dòng)端簡(jiǎn)易滑動(dòng)表格
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)移動(dòng)端簡(jiǎn)易滑動(dòng)表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02對(duì)frameset、frame、iframe的js操作示例代碼
父框架到子框架的引用、子框架到父框架的引用、兄弟框架間的引用、不同層次框架間的互相引用具體實(shí)現(xiàn)如下,有此需求的朋友可以參考下2013-08-08