[JavaScript]AJAX獲取二進制圖片並顯示於img

最近寫了一個驗證碼識別,須要AJAX請求驗證碼,而後一份發給服務器,一份顯示在頁面,因此我須要將請求到的二進制圖片直接顯示在img中服務器

查了不少資料,發現HTML5的blob對象配合createObjectURL就能夠實現dom

        var xhr = new XMLHttpRequest();
        xhr.open("get", "../verify_img", true);
        xhr.responseType = "blob";
        xhr.onload = function() {
            if (this.status == 200) {
                var blob = this.response;
                var img = document.createElement("img");
                img.onload = function(e) {
                    window.URL.revokeObjectURL(img.src); // 當圖片加載完成後清除釋放
                };
                img.src = window.URL.createObjectURL(blob);
                $(".container").before(img);// 這裏也能夠使用dom
            }
        }
        xhr.send();

按照一樣的思路,我還嘗試使用jQuery實現AJAX,可是blob對象始終報錯,換用file依舊沒法解決this

若是有大神知道怎麼解決,歡迎留言告訴我spa

相關文章
相關標籤/搜索