2020-11-15
- 通過初始化指定變量類型 數字-1 對象null
- 和null的比較(不理解)
- 使用局部變量將屬性查找替換為值查找(算法復雜度)
- 循環的減值迭代,降低了計算終止條件的復雜度
- switch快
- 多個變量聲明逗號隔開
- 使用數組和對象字面量(接口params參數)
2020-11-16
第21章 Ajax
- Ajax Asynchronous JavaScript + XML
- 每個HTTP請求和響應都會帶有響應的頭部信息,setRequestHeader()方法可以設置自定義的請求頭部信息
- 對XHR而言,位于傳入open()方法的URL末尾的查詢字符串必須經過正確的編碼
- function addURLParam(url, name, value) {
url += (url.indexOf(’?’)) == -1 ? ‘?’:’&’
url += encodeURIComponent(name) + ‘=’ + encodeURIComponent(value)
return url }- 使用XHR模仿表單提交,將Content-Type/MIME類型 頭部信息設置為application/x-www-form-urlencoded
- FormData為序列化表單以及創建與表單格式相同的數據提供了便利,不必明確地在XHR對象上設置請求頭部,XHR對象能夠識別傳入的數據類型是FormData的實例
var data = new FormData() data.append(‘name’, ‘Leo’) 第25章 新興的API -
FileAPI- File對象的只讀屬性type是文件的MIME類型
- FileReader可以讀取文件中的數據 new FileReader() → 使用file的API
- FileReader提供的方法有: readAsText(file,encoding) 以純文本形式讀取文件 readAsDataURL(file) 讀取文件,并將文件以數據URI的形式保存在result屬性中 - 讀取圖片并顯示
readAsBinaryString(file) readAsArrayBuffer(file)- Blob是File類型的父類型 → 讀取部分內容
- 對象URL即blobURL,引用保存在File或Blob中數據的URL,可以不必把文件內容讀取到js中而直接使用文件內容 - 圖片
- 創建對象URL window.URL.createObjectURL()
常見的媒體格式類型如下:
MDN mime
text/html : HTML格式
text/plain :純文本格式
text/xml : XML格式
image/gif :gif圖片格式
image/jpeg :jpg圖片格式
image/png:png圖片格式
以application開頭的媒體格式類型:
application/xhtml+xml :XHTML格式 application/xml : XML數據格式
application/atom+xml :Atom XML聚合格式 application/json :
JSON數據格式 application/pdf :pdf格式 application/msword :
Word文檔格式 application/octet-stream : 二進制流數據(如常見的文件下載)未知的應用程序文件
application/x-www-form-urlencoded : 中默認的encType,form表單數據被編碼為key/value格式發送到服務器(表單默認的提交數據的格式)
另外一種常見的媒體格式是上傳文件之時使用的:multipart/form-data : 需要在表單中進行文件上傳時,就需要使用該格式以上就是我們在日常的開發中,經常會用到的若干content-type的內容格式。
問題
1. 導出獲取到的文件名亂碼
ISO-8859-1 單字節編碼,兼容ASCII碼,相當于ASCII碼的擴展,無法表示中文字符,系統默認編碼
疑問:xhr無法設置相應體頭部的編碼?
2. 獲取下載進度
- window.open方式
window.open 瀏覽器托管下載并監聽下載完成