AJAX 可以透過 JavaScript 發出網路需求,發出方法可分成: JavaScript 原生寫法和套件,既然都踏入套件的魔法陣,就介紹這個我人生中第一個接觸的套件 axios...
Vue-axios,她的底層一樣是使用 XMLHttpRequest 做出來,可用於瀏覽器和 Node.js 環境中發送 HTTP 請求。她支援 promise,可以方便地處理非同步請求,並提供了一個簡潔的 API 來設置請求選項和處理響應,優點是:
axios.get('/user/12345') // 發出網路需求
.then(function (response) { // 資料回傳成功就會跑 .then 執行裡面的fn()
console.log(response.data);
})
在終端機下 ES6 module 語法
npm install --save axios vue-axios
套件安裝後,打開 package.json 如果有看到套件名稱和版本,代表安裝成功啦~可喜可賀~可喜可賀
檔案必須和 main.js 有關聯性,所以在 main.js 導入配置 vue-axios
import { createApp } from "vue";
import axios from "axios";
import VueAxios from "vue-axios";
import App from "./App.vue";
import router from "./router";
const app = createApp(App);
app.use(router);
app.use(VueAxios, axios);
app.mount("#app");
文件內容截圖
文件對 vue3 option API 和 compostion API 也有個別有示範說明。
文件內容截圖
因為已經在全域註冊,所以在組件中直接使用 import 引入 axios,呼叫 API 取得遠端資料
import { onMounted } from 'vue'
import axios from 'axios'
const fetchApiData = async () => {
try {
const res = await axios.get(
'https://raw.githubusercontent.com/hexschool/js-training/main/travelAPI-lv1.json'
)
console.log("res::", res);
} catch (err) {
console.log(err)
}
}
onMounted(() => {
fetchApiData()
})
這樣就完成前後端在應用程式、資料庫和裝置來回穿梭傳送資料並創造連結。
發出請求接收資料後,就要來找個安全的地方儲存資料,明天就可以來分享一個神奇的核心守護魔法陣 - Pinia 囉!