色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue的request封裝

錢瀠龍1年前8瀏覽0評論

VUE的request封裝是一個非常重要的知識點。它是為了方便我們在開發VUE項目時,更加方便地處理請求數據而設計的。當我們開發一個VUE項目時,經常需要使用到網絡請求。而網絡請求是一個比較麻煩的操作。我們需要設置請求的參數、請求的URL、請求的方法等等。并且每個請求的返回結果也有可能不一樣。所以為了方便開發,在VUE中我們可以使用request封裝來統一處理網絡請求相關的操作。

request封裝有以下幾個特點:

  • 請求和響應的格式是統一的,方便統一處理返回結果以及錯誤處理。
  • 提供攔截器,在請求和響應階段可以對數據進行攔截,方便做一些統一處理。
  • 可以配置 baseURL、timeout 等參數,方便全局配置請求參數。
  • 支持在請求頭中添加 token,做全局身份驗證。

下面是一個request封裝的示例代碼:

import axios from 'axios'
const service = axios.create({
baseURL: process.env.BASE_API,
timeout: 5000, // 請求超時時間
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
// 請求攔截器
service.interceptors.request.use(config =>{
// 在請求發送之前,將token添加到請求頭中
if (localStorage.token) {
config.headers.Authorization = 'Bearer ' + localStorage.token
}
return config
}, error =>{
Promise.reject(error)
})
// 響應攔截器
service.interceptors.response.use(
response =>{
const res = response.data
if (res.code !== 200) { // 如果返回結果中的code不等于200,那么就拋出錯誤
return Promise.reject(new Error(res.message || 'Error'))
} else {
return res.data
}
},
error =>{
return Promise.reject(error)
}
)
export default service

上面的代碼中,我們首先使用 axios.create() 創建了一個實例。這個實例可以用來進行網絡請求。

然后在請求攔截器中,我們添加了一個判斷。如果 localStorage 中有 token,則將 token 添加到請求頭中。這樣在所有的請求中都會帶上 token,做到全局身份驗證。

接著在響應攔截器中,我們對返回結果進行判斷,如果返回結果中的 code 不等于 200,那么就拋出錯誤。否則就返回 data。

在使用 request 封裝進行網絡請求時,我們只需要使用上面的示例代碼即可。每次發送請求時,都會先執行請求攔截器中的代碼,然后再發送請求。當服務器響應時,會執行響應攔截器中的代碼。這樣就可以方便地統一處理請求和響應的操作了。