fetch api是新的ajax解決方案,用於解決古老的xhr物件不能實現的問題,fetch api 提供了乙個獲取資源的介面(包括跨域請求),任何使用過xmlhttprequest
的人都能輕鬆上手,但新的api提供了更強大和靈活的功能集。
主要優點:
fetch 提供了對request
和response
(以及其他與網路請求有關的)物件的通用定義。使之今後可以被使用到更多地應用場景中:無論是service workers、cache api、又或者是其他處理請求和響應的方式,甚至是任何一種需要你自己在程式中生成響應的方式。
它同時還為有關聯性的概念,例如cors和http原生頭資訊,提供一種新的定義,取代它們原來那種分離的定義。
傳送請求或者獲取資源,需要使用windoworworkerglobalscope.fetch
方法。它在很多介面中都被實現了,更具體地說,是在window
和workerglobalscope
介面上。因此在幾乎所有環境中都可以用這個方法獲取到資源。
fetch()
必須接受乙個引數——資源的路徑。無論請求成功與否,它都返回乙個 promise 物件,resolve 對應請求的response
。你也可以傳乙個可選的第二個引數init
(參見request
)。
一旦response
被返回,就有一些方法可以使用了,比如定義內容或者處理方法(參見body
)。
你也可以通過request()
和response()
的建構函式直接建立請求和響應,但是我們不建議這麼做。他們應該被用於建立其他 api 的結果(比如,service workers 中的fetchevent.respondwith
)。
注意:更多關於 fetch api 的用法,參考 using fetch,以及一些概念 fetch basic concepts。
本文假設乙個伺服器環境,有乙個test.html和乙個test.php。
fetch('test.php')
.then(function(res) );
}) .
catch
(function(err) )
console.log(fetch('test.php')); //返回乙個promise物件
兩者關係就一句話:fetch()本身就返回乙個promise物件。所以,它就可以用promises的所有方法。
第乙個引數:毫無疑問是要獲取資源的url。
第二個引數:options物件,包括:
上面諸多option中,其實常用的就是method
、headers
、body
以及mode
等。
注意:更多關於 fetch api 的用法,參考 using fetch,以及一些概念 fetch basic concepts。
Fetch API 脫坑教程
通常我們在遊覽器請求時,發現請求失敗,想就這條件重新請求除錯,取出引數去其他工具除錯吧,引數少還好,一旦多了也麻煩,畢竟取出來的引數也是要經過處理的。這時我們可以考慮使用遊覽器fetch,實現重新請求,並且可以更改其傳入引數,以方便定位問題。下面是我遇到的問題以及fetch的一些簡單使用。作用 fe...
關於 Fetch API 的注意事項
fetch url,傳送get請求時的query引數不能放到物件中 如 必須在url字串中 const url 可通過如下函式處理url function makeurl url,params const url makeurl 然後發起請求 fetch url,如需通過post請求的傳送json,...
Caffe Python介面常用API參考
主要是定義了乙個transformer,preprocess和deprocess操作,完成caffe和python之間資料的格式轉換等,注意caffe bgr,0 255,c h w,而python是rgb,0 1,h w c的資料格式,所以一般python讀取的資料要轉換成適合caffe用的資料。...