摘要:社區起來后,不滿足現在的方案,搞了一個。只有在一些非常新的瀏覽器才支持,而上的卻最多兼容到,并且麻煩得要死,需要安裝一大堆才能運行起來。于是我搞了一個兼容的。用法與原生的一模一樣。
react社區起來后,不滿足現在的AJAX方案,搞了一個fetch。fetch只有在一些非常新的瀏覽器才支持,而github上的fetch卻最多兼容到IE8,并且麻煩得要死,需要安裝一大堆polyfill才能運行起來。
于是我搞了一個兼容IE6的polyfill。用法與原生的一模一樣。
npm install fetch-polyfill2
當然想要在IE6運行起來,還需要Promise與JSON3。
推薦使用性能最好的bluebird與JSON3
$ npm install bluebird -- save $ npm install json3 -- save
它內部是使用4種通信手段與后端交換數據
HTMLfetch("/users.html") .then(function(response) { return response.text() }).then(function(body) { document.body.innerHTML = body })JSON
fetch("/users.json") .then(function(response) { return response.json() }).then(function(json) { console.log("parsed json", json) }).catch(function(ex) { console.log("parsing failed", ex) })Response metadata
fetch("/users.json").then(function(response) { console.log(response.headers.get("Content-Type")) console.log(response.headers.get("Date")) console.log(response.status) console.log(response.statusText) })Post form
var form = document.querySelector("form") fetch("/users", { method: "POST", body: new FormData(form) })Post JSON
fetch("/users", { method: "POST", headers: { "Accept": "application/json", "Content-Type": "application/json" }, body: JSON.stringify({ name: "Hubot", login: "hubot", }) })File upload
var input = document.querySelector("input[type="file"]") var data = new FormData() data.append("file", input.files[0]) data.append("user", "hubot") fetch("/avatars", { method: "POST", body: data })IE6-7 cors
fetch("/users", { //jsonp!!! credentials: "include", }).then(function(response){ return response.json() }).then(function(){ })
歡迎star與pull request https://github.com/RubyLouvre...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80049.html
摘要:本文詳細講述如何使用原生和來實現。使用可以無刷新地向服務端發送請求接收服務端響應,并更新頁面。分別要用到的方法和方法。,,都是現在和未來解決異步的標準做法,可以完美搭配使用。這也是使用標準一大好處。 本文詳細講述如何使用原生 JS、jQuery 和 Fetch 來實現 AJAX。 AJAX 即 Asynchronous JavaScript and XML,異步的 JavaScript...
摘要:項目中用到了和官方文檔中給出明確范圍不支持及以下版本,因為使用了無法模擬的特性。但它支持所有兼容的瀏覽器。詞法分析階段把字符串形式的代碼轉換為令牌流。語法分析階段會把一個令牌流轉換成的形式方便后續操作。利用我們配置好的把生成的轉變為新的。 項目中用到了Vue.js和Elenment-UIVue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法...
摘要:項目中用到了和官方文檔中給出明確范圍不支持及以下版本,因為使用了無法模擬的特性。但它支持所有兼容的瀏覽器。詞法分析階段把字符串形式的代碼轉換為令牌流。語法分析階段會把一個令牌流轉換成的形式方便后續操作。利用我們配置好的把生成的轉變為新的。 項目中用到了Vue.js和Elenment-UIVue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法...
1、fetch: https://github.com/github/fetch 2、HTML5 History/State APIs (pushState, replaceState, onPopState):https://github.com/browsersta... 3、REM unit polyfill:https://github.com/chuckcarpe... 4、HTML5 ...
閱讀 1405·2021-11-25 09:43
閱讀 2261·2021-09-27 13:36
閱讀 1114·2021-09-04 16:40
閱讀 1957·2019-08-30 11:12
閱讀 3309·2019-08-29 14:14
閱讀 567·2019-08-28 17:56
閱讀 1320·2019-08-26 13:50
閱讀 1246·2019-08-26 13:29