JavaScript中發(fā)出HTTP請求最常用的方法
JavaScript具有很好的模塊和方法來發(fā)送可用于從服務器端資源發(fā)送或接收數據的HTTP請求。在本文中,我們將介紹一些在JavaScript中發(fā)出HTTP請求的流行方法。
Ajax
Ajax是發(fā)出異步HTTP請求的傳統方式??梢允褂肏TTP POST方法發(fā)送數據,并使用HTTP GET方法接收數據。我們來看看發(fā)送GET請求。我將使用JSONPlaceholder,這是一個免費的在線REST API,適用于以JSON格式返回隨機數據的開發(fā)人員。 要在Ajax中進行HTTP調用,您需要初始化一個新XMLHttpRequest()方法,指定URL端點和HTTP方法(在本例中為GET)。最后,我們使用該open()方法將HTTP方法和URL端點綁定在一起,并調用該send()方法來觸發(fā)請求。 我們使用XMLHTTPRequest.onreadystatechange包含要在readystatechanged事件觸發(fā)時調用的事件處理程序的屬性將HTTP響應記錄到控制臺。
如果您查看瀏覽器控制臺,它將返回JSON格式的數據數組。但是我們怎么知道請求是否完成了?換句話說,我們如何使用Ajax處理響應? 該onreadystatechange有兩個方法,readyState 和 status允許我們可以檢查請求的狀態(tài)。
如果readyState等于4,則表示請求已完成。 除了使用JavaScript直接進行Ajax調用之外,還有其他更強大的HTTP調用方法,例如$.AjaxjQuery方法。
jQuery方法 jQuery有很多方法可以輕松處理HTTP請求。要使用這些方法,您需要在項目中包含jQuery庫。
$.ajax
jQuery Ajax是進行HTTP調用的最簡單方法之一。
$ .ajax方法需要許多參數,其中一些是必需的,另一些是可選的。它包含兩個回調選項success并error處理收到的響應。
$.get方法
$.get方法用于執(zhí)行GET請求。它需要兩個參數:請求地址和回調函數。
$.post
該$.post方法是將數據發(fā)布到服務器的另一種方法。它需要三個參數:請求的url地址您要發(fā)送的數據和回調函數。
$.getJson
該$.getJSON方法僅檢索JSON格式的數據。它需要兩個參數:url和回調函數。
jQuery具有所有這些方法來請求或將數據發(fā)布到遠程服務器。但實際上你可以將所有這些方法合而為一:$.ajax方法,如下例所示:
Fetch
fetch是一個新的功能強大的Web API,可以讓您發(fā)出異步請求。事實上,這fetch是制作HTTP請求的最佳和最喜歡的方式之一。它返回一個“Promise”,這是ES6的一大特色。 如果你不熟悉ES6,你可以閱讀一下關于ES6的文章。Promise允許我們以更智能的方式處理異步請求。我們來看看fetch技術如何運作。
該fetch函數需要一個必需參數:endpointURL。它還有其他可選參數,如下例所示:
如您所見,fetch制作HTTP請求有許多優(yōu)點。此外,在fetch中還有其他模塊和插件,允許我們向服務器端發(fā)送和從服務器端接收請求,例如Axios.
Axios
Axios是一個用于發(fā)出HTTP請求的開源庫,并提供許多強大的功能。我們來看看它是如何工作的。
用法: 首先,您需要包含Axios。有兩種方法可以在項目中包含Axios。 首先,你可以使用npm: npm install axios --save
然后你需要導入它 import axios from 'axios'
使用axios發(fā)出請求: 使用Axios,您可以使用GET和POST從服務器檢索和發(fā)布數據。
axios采用一個必需參數,也可以采用第二個可選參數。這將一些數據作為簡單查詢。
POST:
Axios返回“Promise”。如果您熟悉promises,您可能知道promise可以執(zhí)行多個請求。您可以使用axios執(zhí)行相同的操作并同時運行多個請求。
Axios支持許多其他方法和選項。你可以官網了解他們
總結
以上所述是小編給大家介紹的JavaScript中發(fā)出HTTP請求最常用的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
javascript document.compatMode兼容性
文檔模式在開發(fā)中貌似很少用到,最常見的是就是在獲取頁面寬高的時候,比如文檔寬高,可見區(qū)域寬高等。2010-02-02前端使用JavaScript結合CSS實現3D旋轉跟隨鼠標變化
這篇文章主要介紹了前端使用JavaScript結合CSS實現3D旋轉跟隨鼠標變化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01