在基于Vue的前端應用中,我們經常需要向后端API發送請求,并在請求中帶上token參數來驗證身份。本文將介紹如何在Vue中通過token取得參數并發送請求。
首先,在Vue的main.js文件中,我們可以通過以下代碼來設置axios的token:
import axios from 'axios'
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`
其中,token是我們在登錄時獲取到的授權碼。這樣,在發送axios請求時就會自動帶上這個token。
同時,我們還可以通過Vue的HTTP攔截器來對請求和響應進行統一處理。在Vue的main.js文件中,我們可以添加以下代碼:
import axios from 'axios'
axios.interceptors.request.use(
config =>{
// 在請求發送之前對請求數據進行處理
const token = localStorage.getItem('token')
if (token) {
config.headers.common['Authorization'] = `Bearer ${token}`
}
return config
},
error =>{
return Promise.reject(error)
}
)
axios.interceptors.response.use(
response =>{
// 在響應之后對響應數據進行處理
return response
},
error =>{
if (error && error.response) {
switch (error.response.status) {
case 401:
console.log('未授權')
break
case 404:
console.log('找不到頁面')
break
}
}
return Promise.reject(error)
}
)
這里,我們使用了axios的interceptors屬性,分別對請求和響應進行攔截處理。在請求攔截器中,我們從localStorage中獲取token,并將其添加到請求頭中;在響應攔截器中,我們處理了響應狀態碼為401和404的情況。
最后,我們可以在Vue組件中使用axios發送請求,并獲取響應數據。以下是一個簡單的例子:
import axios from 'axios'
export default {
data () {
return {
data: []
}
},
created () {
axios.get('http://example.com/api/data')
.then(response =>{
this.data = response.data
})
.catch(error =>{
console.error(error)
})
}
}
這里,我們在Vue組件的created生命周期函數中使用了axios發送了一個GET請求,并將響應數據賦值給了組件的data屬性。在實際應用中,我們可以根據自己的需求來實現各種不同類型的HTTP請求。
總結:通過上述步驟,我們就可以在Vue中通過token取得參數,并發送HTTP請求了。同時,通過攔截器我們可以統一處理請求和響應,避免代碼重復;通過組件中使用axios發送請求,我們可以方便地獲取響應數據并在應用中使用。
上一篇clob如何返回json
下一篇vue 引用插件方法