1. 程式人生 > >怎麽用ajax下載文件

怎麽用ajax下載文件

quest xmlhttp spa ajax下載文件 pre creat 下載 download get

可能大家都覺得沒有必要用ajax來下載東西,用window.open(url)就可以搞定

但是這有一個問題,就是這就限定了只能用GET方式來請求了;

可能你又會說GET很符合REST的要求呀。

但是如果你用jwt來做身份驗證呢?

這意味著你需要在Window.open時帶上自定義的Request Header,這就無解了

所以今天來介紹一下怎麽用ajax來下載文件

 1 let xhr = new XMLHttpRequest()
 2 xhr.open(‘GET‘, ‘http://www.xxx.com/bbb.zip‘, true)
 3 // 這部至關重要,命令xhr返回給你的時blob(二進制大對象)類型的數據
4 xhr.responseType = ‘blob‘ 5 xhr.send() 6 xhr.onreadystatechange = function () { 7 if (xhr.readyState === 4 && xhr.status === 200) { 8 const aTag = document.createElement(‘a‘) 9 aTag.href = URL.createObjectURL(this.response) 10 aTag.download = ‘aaa.zip‘ 11 aTag.click()
12 } 13 }

怎麽用ajax下載文件