Fetch

網頁開發技術

Fetch 被稱為下一代Ajax技術,採用Promise方式來處理數據。

是一種簡潔明了的API,比XMLHttpRequest更加簡單易用。

與Ajax


頁面中需要向伺服器請求數據時,基本上都會使用Ajax來實現。Ajax的本質是使用XMLHttpRequest對象來請求數據,而XMLHttpRequest對象是通過事件的模式來實現返回數據的處理。
與XMLHttpRequest類似,Fetch允許你發出AJAX請求。區別在於Fetch API使用Promise方式,Promise是已經正式發布的ES6的內容之一,因此是一種簡潔明了的API,比XMLHttpRequest更加簡單易用。

瀏覽器支持


Fetch目前還不是 W3C 規範,因此原生支持率並不高。
fetch支持
fetch支持
幸運的是,引入下面這些 polyfill 后可以完美支持 IE8+ :
1.由於 IE8 是 ES3,需要引入 ES5 的 polyfill: es5-shim, es5-sham
2.引入 Promise 的 polyfill: es6-promise3.引入 fetch 探測庫:fetch-detector
4.引入 fetch 的 polyfill: fetch-ie8
5.可選:如果你還使用了 jsonp,引入 fetch-jsonp
6.可選:開啟 Babel 的 runtime 模式,現在就使用 async/await