最近寫了一個驗證碼識別,須要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