前端面試題13(API請求方法)

在這里插入圖片描述
在前端JavaScript中,進行API請求主要可以通過幾種方式來實現,最常見的是使用XMLHttpRequest(較舊的方法)、fetch(現代瀏覽器推薦方法)以及使用第三方庫如axiosjQuery.ajax等。

1. XMLHttpRequest

這是最早支持Ajax請求的方式,適用于所有現代瀏覽器和一些較老的瀏覽器。

function makeRequest() {var xhr = new XMLHttpRequest();xhr.onreadystatechange = function () {if (xhr.readyState === 4 && xhr.status === 200) {console.log(xhr.responseText);}};xhr.open("GET", "https://api.example.com/data", true);xhr.send();
}

2. Fetch API

Fetch API是更現代、更靈活的請求方式,它返回Promise,可以與async/await一起使用,使得異步代碼更加清晰。

async function fetchData() {try {const response = await fetch("https://api.example.com/data");if (!response.ok) {throw new Error(`HTTP error! status: ${response.status}`);}const data = await response.json();console.log(data);} catch (error) {console.error('There was a problem with the fetch operation:', error);}
}fetchData();

3. Axios

Axios是一個基于Promise的HTTP庫,可同時在瀏覽器和node.js中使用。需要先通過npm或CDN引入。

<!-- 引入axios CDN -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script><script>
axios.get("https://api.example.com/data").then(response => {console.log(response.data);}).catch(error => {console.error("Error fetching data:", error);});
</script>

或者在模塊化環境中:

import axios from 'axios';async function getData() {try {const response = await axios.get("https://api.example.com/data");console.log(response.data);} catch (error) {console.error("Error fetching data:", error);}
}getData();

4. jQuery.ajax

如果你的項目中已經使用了jQuery庫,也可以使用其提供的.ajax()方法。

<!-- 引入jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script>
$.ajax({url: "https://api.example.com/data",method: "GET",success: function(data) {console.log(data);},error: function(jqXHR, textStatus, errorThrown) {console.error("Error:", textStatus, errorThrown);}
});
</script>

以上就是前端JavaScript中進行API請求的幾種常見方法,根據你的具體需求和項目環境選擇合適的方式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41932.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41932.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41932.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

仙人掌中的SNMP檢測不到服務器

登錄有問題的服務器1.檢測snmp localhost:~ # ps -ef|grep snmp root 55180 1 0 08:37 ? 00:00:08 /usr/sbin/snmpd -r -A -LF n /var/log/net-snmpd.log -p /var/run/snmpd.pid root 58436 53989 0 09:44 pts/0 00:00:00 grep --colorauto snmp2.檢測…

linux 編譯perf 工具

centos7下編譯步驟&#xff1a; wget https://mirrors.edge.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.gz tar -xf linux-3.10.tar.gz cd linux-3.10/tools/ yum install -y flex bison python2-devel make perf ./perf/perf top -d 1…

昇思第10天

RNN實現情感分類 二分類問題&#xff1a;Positive和Negative兩類 步驟&#xff1a; 1.加載IMDB數據集 2.加載預訓練詞向量:預訓練詞向量是對輸入單詞的數值化表示&#xff0c;通過nn.Embedding層&#xff0c;采用查表的方式&#xff0c;輸入單詞對應詞表中的index&#xff0c;…

【算法專題】模擬算法題

模擬算法題往往不涉及復雜的數據結構或算法&#xff0c;而是側重于對特定情景的代碼實現&#xff0c;關鍵在于理解題目所描述的情境&#xff0c;并能夠將其轉化為代碼邏輯。所以我們在處理這種類型的題目時&#xff0c;最好要現在演草紙上把情況理清楚&#xff0c;再動手編寫代…

FreeRTOS——隊列集

一、隊列集 一個隊列只允許任務間傳遞的消息為 同一種數據類型 &#xff0c;如果需要在任務間 傳遞不同數據類型的消息 時&#xff0c;那么就可以使用隊列集 作用&#xff1a;用于對多個隊列或信號量進行“監聽”&#xff08;接收或獲取&#xff09;&#xff0c;其中 不管哪一…

js 使用 lodash-es 檢測某個值是否是函數

import { isFunction } from lodash-eslet isA isFunction(() > {}) console.log(isA) //true https://www.lodashjs.com/docs/lodash.isFunction#_isfunctionvalue https://lodash.com/docs/4.17.15#isFunction 人工智能學習網站 https://chat.xutongbao.top

Spring框架配置進階_自動裝配(XML和注解)

Spring配置進階 Spring 容器提供配置元數據有三種方式 XML配置文件。基于注解的配置。基于java的配置。 一、自動裝配 應用程序上下文為你找出依賴項的過程,Spring會在上下文中自動查找&#xff0c;并自動給bean裝配與其關聯的屬性 Spring中實現自動裝配的方式有兩種: XML文…

26-ARM常用匯編指令

匯編格式&#xff1a; label&#xff1a;instruction comment label&#xff1a;標號instruction&#xff1a;具體匯編指令comment&#xff1a;注釋內容 常用段名&#xff1a; .text&#xff1a;代碼段.data&#xff1a;初始化的數據段.bss&#xff1a;未初始化的數據段.ro…

Spring Boot+Vue項目從零入手

Spring BootVue項目從零入手 一、前期準備 在搭建spring bootvue項目前&#xff0c;我們首先要準備好開發環境&#xff0c;所需相關環境和軟件如下&#xff1a; 1、node.js 檢測安裝成功的方法&#xff1a;node -v 2、vue 檢測安裝成功的方法&#xff1a;vue -V 3、Visu…

JSP WEB開發(一) JSP語言基礎

目錄 JSP JSP簡介&#xff1a; JSP頁面 JSP運行原理 JSP腳本元素 JAVA程序片 局部變量 全局變量和方法的聲明 全局變量 方法的聲明 程序片執行特點 synchronized關鍵字 表達式 JSP指令標記 page指令 include指令 JSP動作標記 JSP動作元素include和include指令的…

Docker在人工智能領域的應用與實戰

摘要 人工智能&#xff08;AI&#xff09;技術的快速發展帶來了對高效開發和部署工具的需求。Docker作為一個創新的容器化平臺&#xff0c;為AI領域提供了強大的支持。本文詳細介紹了Docker在AI模型開發、訓練、部署以及服務器集群管理等方面的應用&#xff0c;并探討了其在數…

AcWing 1550:完全二叉搜索樹

【題目來源】https://www.acwing.com/problem/content/1552/【題目描述】二叉搜索樹 (BST) 遞歸定義為具有以下屬性的二叉樹&#xff1a; &#xff08;1&#xff09;若它的左子樹不空&#xff0c;則左子樹上所有結點的值均小于它的根結點的值 &#xff08;2&#xff09;若它的右…

大數據平臺之數據同步

數據同步也成為CDC (Chanage Data Capture) 。Change Data Capture (CDC) 是一種用于跟蹤和捕獲數據庫中數據變更的技術&#xff0c;它可以在數據發生變化時實時地將這些變更捕獲并傳遞到下游系統。以下是一些常用的開源 CDC 方案&#xff1a; 1. Flink CDC Flink CDC 是基于 …

快速上手LangChain:構建強大的語言模型應用

引言 在人工智能和自然語言處理&#xff08;NLP&#xff09;領域&#xff0c;構建高效且強大的語言模型應用變得越來越重要。LangChain 是一個專為開發者設計的框架&#xff0c;它簡化了語言模型應用的構建流程。本文將詳細介紹LangChain的功能和使用方法&#xff0c;幫助讀者…

76 4G模組 境外撥號入網注意

1 引言 最近朋友把國內的設備拿到新加坡了&#xff0c;然后發現原本國內可以使用的設備無法在異國他鄉聯網&#xff0c;所以就叫我來看看&#xff0c;發現是附網返回狀態、入網APN發生了改變導致的。另外&#xff0c;如果在境外使用國產4G模組撥號入網&#xff0c;也需要關注4G…

Windows安裝超好用的截圖工具——Snipaste

1、下載 官網&#xff1a;https://zh.snipaste.com/ 2、安裝 &#xff08;1&#xff09;解壓下載的壓縮包 &#xff08;2&#xff09;選中Snipaste.exe文件&#xff0c;右鍵發送到 -- > 桌面快捷方式 &#xff08;3&#xff09;雙擊桌面Snipaste圖標&#xff0c;桌面右下…

linux 服務器數據備份 和 mysql 數據遷移

查看域名ip 查看程序所處文件位置 list open files 1、 lsof -i :port 查看端口獲取進程 pid 2、lsof -i pid 1、scp 下載服務器文件到本地 security copy protocol 2、導出服務器 mysql 數據庫&#xff08;表&#xff09;到本地 mysqldump是MySQL自帶的一個實用程序&…

解析Java中1000個常用類:Date類,你學會了嗎?

在線工具站 推薦一個程序員在線工具站:程序員常用工具(http://cxytools.com),有時間戳、JSON格式化、文本對比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。程序員資料站 推薦一個程序員編程資料站:程序員的成長之路(http://cxyroad.com),收錄了一些列的技術教程…

Git 完整的提交規范教程

約定式提交規范 本文中的關鍵詞 “必須&#xff08;MUST&#xff09;”、“禁止&#xff08;MUST NOT&#xff09;”、“必要&#xff08;REQUIRED&#xff09;”、“應當&#xff08;SHALL&#xff09;”、“不應當&#xff08;SHALL NOT&#xff09;”、“應該&#xff08;S…

云計算【第一階段(24)】Linux文件系統與日志分析

一、文件與存儲系統的inode與block 1.1、硬盤存儲 最小存儲單位&#xff1a;扇區(sector) 每個扇區大小&#xff1a;512字節 1.2、文件存取 最小存取單位&#xff1a;塊(block)連續八個扇區組成&#xff1a;塊(block) 每個塊大小&#xff1a;4K文件數據&#xff1a;實際數據…