Apakah pemintasan permintaan vue?

王林
Lepaskan: 2023-05-18 09:55:37
asal
870 orang telah melayarinya

Kata Pengantar

Dengan perkembangan pesat teknologi bahagian hadapan, rangka kerja bahagian hadapan menjadi semakin pelbagai Sebagai rangka kerja MVVM bahagian hadapan yang popular, Vue.js terus menarik pembangun baharu untuk menyertai Vue. js camp. Dalam Vue.js, kami sering menggunakan permintaan AJAX untuk mendapatkan data daripada pelayan, tetapi sebelum menghantar permintaan, kami perlu memastikan kesahihan dan keselamatan permintaan tersebut. Ini memerlukan penggunaan mekanisme pemintasan permintaan Vue.js. Artikel ini akan memberi anda pengenalan yang mendalam tentang mekanisme pemintasan permintaan Vue.js.

Apakah pemintasan permintaan?

Dalam Vue.js, kami biasanya menggunakan axios sebagai perpustakaan untuk permintaan AJAX. Axios menyediakan mekanisme pemintasan permintaan yang boleh memintas dan mengubah suai permintaan sebelum ia dihantar. Pemintas permintaan membenarkan kami melakukan beberapa pemprosesan sebelum menghantar permintaan, seperti menambahkan token pada pengepala permintaan atau melakukan beberapa pengesahan kebenaran sebelum permintaan.

Pelaksanaan pemintasan permintaan

Pertama, kita perlu memperkenalkan axios dan Vue:

import axios from 'axios'
import Vue from 'vue'
Salin selepas log masuk

Kemudian, kita boleh mentakrifkan contoh axios:

const Axios = axios.create({
  baseURL: 'http://localhost:3000',
  timeout: 5000
})
Salin selepas log masuk

Seterusnya , kita perlu membiarkan Vue memintas semua permintaan, jadi kita perlu menetapkan pemintas global dalam fail konfigurasi. Di bawah folder src, cipta folder baharu yang dipanggil pemintas, dan kemudian buat fail baharu yang dipanggil index.js di bawah folder pemintas:

import Axios from '@/utils/axios'

// 请求拦截器
Axios.interceptors.request.use(config => {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = token
  }
  return config
})

// 响应拦截器
Axios.interceptors.response.use(response => {
  // 对响应数据做点什么
  return response
}, error => {
  // 对响应错误做点什么
  return Promise.reject(error)
})

Vue.prototype.$http = Axios

export default Axios
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan pemintas permintaan dan pemintas Respons. Dalam pemintas permintaan, kami mendapat token yang disimpan secara setempat dan menambahkannya pada pengepala permintaan.

Untuk pemintas respons, jika permintaan berjaya, data respons akan dikembalikan secara langsung Jika permintaan gagal, Promise.reject akan dikembalikan dan mesej ralat akan dilemparkan.

Akhir sekali, kami perlu merujuk fail pemintas/index.js dalam fail main.js:

import Axios from '@/interceptors'

// 将 Axios 挂载到 Vue 实例上
Vue.prototype.$http = Axios
Salin selepas log masuk

Pada ketika ini, kami telah berjaya menyelesaikan pelaksanaan pemintasan permintaan Vue.js. Ia boleh dilihat daripada kod bahawa mekanisme pemintasan permintaan sangat membantu untuk aplikasi Vue.js dan boleh meningkatkan kecekapan pembangunan kami.

Ringkasan

Artikel ini memperkenalkan mekanisme pemintasan permintaan Vue.js. Pemintas membenarkan kami memintas dan mengubah suai permintaan sebelum ia dihantar. Dengan cara ini, kami boleh melakukan beberapa pemprosesan sebelum menghantar permintaan, seperti menambahkan token pada pengepala permintaan atau melakukan beberapa pengesahan kebenaran sebelum permintaan, dsb. Dalam aplikasi Vue.js, permintaan dengan pemintasan tidak dapat dielakkan, jadi sangat penting untuk menguasai kaedah pemintasan permintaan.

Atas ialah kandungan terperinci Apakah pemintasan permintaan vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan