Ajax 即 Asynchronous Javascript And XML (異步 JavaScript 和 XML),是指一種建立交互式網頁應用的網頁開發技術。在無需從新加載整個網頁的狀況下,可以更新部分網頁的技術。通常咱們使用 XMLHTTPRequest、Fetch API、ActiveXObject(低版本 IE) ,來現實 AJAX 功能。javascript
若是你對先後端交互流程不熟悉能夠看我以前寫的簡單的先後端交互流程(AJAX)。
若是你是想了解上傳文件之類的,那麼你能夠看前端文件上傳-javascript-ajax。html
XMLHTTPRequest 咱們如今用的最多的,基本能知足你的全部要求。可是咱們平常只用了一部分 XML(早期),JSON(用的最多),text(比較少,要否則也是JSON串)。同時支持 progress 事件監視進度,事件實現 ProgressEvent 接口。2008年2月提出了XMLHttpRequest Level 2 草案。前端
能夠經過設置一個 XMLHttpRequest 對象的 responseType 屬性來改變一個從服務器上返回的響應的數據類型.可用的屬性值爲空字符串 (默認), "arraybuffer", "blob", "document", "json" 和 "text". response 屬性的值會根據 responseType 屬性包含實體主體(entity body), 它可能會是一個 ArrayBuffer, Blob, Document, JSON, string, 或者爲NULL(若是請求未完成或失敗)。
URL.createObjectURL(fileInput.files[0])
生成 Blob 地址直接用,有效下降轉爲 base64 以後解析異常的風險)。FileReader 讓 Web應用程序擁有異步讀取存儲在用戶計算機上文件(或原始數據緩衝區)的能力,使用 File 或 Blob 對象指定要讀取的文件或數據。java
FileReader.abort()
FileReader.readAsArrayBuffer()
FileReader.readAsBinaryString()
FileReader.readAsDataURL()
data: URL
格式的字符串以表示所讀取文件的內容。FileReader.readAsText()
File 對象能夠是來自用戶在一個 <input> 元素上選擇文件後返回的 FileList 對象,也能夠來自拖放操做生成的 DataTransfer 對象,還能夠是來自在一個 HTMLCanvasElement 上執行 mozGetAsFile() 方法後返回結果。
TypedArray 類型數組對象,描述一個底層的二進制數據緩存區的一個相似數組(array-like)視圖。事實上,沒有名爲 TypedArray的全局對象,也沒有一個名爲的 TypedArray構造函數。相反,有許多不一樣的全局對象,下面會列出這些針對特定元素類型的類型化數組的構造函數。在下面的頁面中,你會找到一些無論什麼類型都公用的屬性和方法。web
類型 | 大小(字節單位) | 描述 | Web IDL type | C語言中的等效類型 |
---|---|---|---|---|
Int8Array | 1 | 8位二進制帶符號整數 -2^7~(2^7) - 1 | byte | int8_t |
Uint8Array | 1 | 8位無符號整數 0~(2^8) - 1 | octet | uint8_t |
Int16Array | 2 | 16位二進制帶符號整數 -2^15~(2^15)-1 | short | int16_t |
Uint16Array | 2 | 16位無符號整數 0~(2^16) - 1 unsigned | short | uint16_t |
Int32Array | 4 | 32位二進制帶符號整數 -2^31~(2^31)-1 | long | int32_t |
Uint32Array | 4 | 32位無符號整數 0~(2^32) - 1 unsigned | int | uint32_t |
Float32Array | 4 | 32位IEEE浮點數 unrestricted | float | float |
Float64Array | 8 | 64位IEEE浮點數 unrestricted | double | double |
接下來就是咱們的騷操做ajax