您當前位置: 南順網絡>> 官方資訊>> 建站知識

JS HTTP 請求庫哪家強?Axios,Request,Superagent,Fetch 還是 Supertest .

Web 開發中客戶端與服務器間的(de)交互非常重要,它有利于客戶端應用高(gāo)度動态化。用戶通過單擊按鈕的(de)交互方式向服務器發送請求,服務器檢索數據并返回,頁面無需重新加載,直接使用返回的(de)數據重新渲染其部分/整體內(nèi)容,或者對數據進行操作。

這其中的(de)技術原理(lǐ)是 AJAX,通過 XMLHttpRequest 實例實現。 為(wèi)了提升 AJAX 及 XMLHttpRequest 的(de)使用體驗,社區開發了一(yī)些無需處理(lǐ) AJAX 和(hé) XMLHttpRequest 就直接發出 HTTP 請求的(de)庫。

本文将帶你研究 5 個流行的(de) HTTP 庫,了解它們是如(rú)何實現的(de)。 希望能幫你省下一(yī)些時間。

提示:通過與 Bit 共享同步公共組件可(kě)以避免代碼重複。 把相同的(de)功能的(de)代碼變成共享組件,就可(kě)以随處使用它了,構建快,趕緊試試看。

Axios

基于 Promise 的(de) HTTP 客戶端,可(kě)用于浏覽器和(hé) Node.js

Axios 是一(yī)個基于 Promise 的(de) HTTP 庫,可(kě)用在 Node.js 和(hé)浏覽器上發起 HTTP 請求,支持所有現代浏覽器,包括 IE8+!

優點

  • 同時支持 Node.js 和(hé)浏覽器

  • 支持 Promise API

  • 可(kě)以配置或取消請求

  • 可(kě)以設置響應超時

  • 支持防止跨站點請求僞造(XSRF)攻擊

  • 可(kě)以攔截未執行的(de)請求或響應

  • 支持顯示上傳進度

  • 廣泛用于 React 和(hé) Vue 項目

    缺點

    • 用起來比較麻煩


    Superagent

    改良版 Ajax——與 Node.js HTTP 客戶端搭配使用

    Superagent 是一(yī)個基于 Promise 的(de)輕量級漸進式 AJAX API,非常适合發送 HTTP 請求以及接收服務器響應。 與 Axios 相同,它既适用于 Node,也适用于所有現代浏覽器。

    用 Superagent 發起 HTTP 請求就像在 request 對象上調用方法一(yī)樣簡單:

     

    優點

    • 它有一(yī)個插件生态,通過構建插件可(kě)以實現較多功能

    • 可(kě)配置

    • HTTP 請求發送接口友好

    • 可(kě)以為(wèi)請求鏈式添加方法

    • 适用于浏覽器和(hé) Node

    • 支持顯示上傳和(hé)下載進度

    • 支持分塊傳輸編碼

    • 支持舊(jiù)風格的(de)回調

    • 繁榮的(de)插件生态,支持衆多常見功能

    缺點

    • 其 API 不符合任何标準


    Request


    編輯:--ns868