Axios

王林
Lepaskan: 2024-07-17 05:55:09
asal
277 orang telah melayarinya

Axios

Baca kod perlahan-lahan dan ikut aliran maklumat dan format maklumat mengikut keperluan, apabila ia berubah

Gambaran keseluruhan

Axios ialah perpustakaan JavaScript popular yang digunakan untuk membuat permintaan HTTP daripada pelayar dan Node.js. Ia ialah projek sumber terbuka yang direka untuk memudahkan proses menghantar permintaan HTTP tak segerak ke titik akhir REST dan melaksanakan operasi CRUD (Buat, Baca, Kemas Kini, Padam).

Pencipta

Axios telah dicipta oleh Matt Zabriskie. Projek ini diselenggara oleh komuniti dan tersedia di GitHub.

Penerima manfaat

Axios bermanfaat untuk:

  • Pembangun hadapan: Untuk membuat permintaan HTTP daripada aplikasi web.
  • Pembangun belakang: Untuk menyepadukan permintaan HTTP dalam aplikasi Node.js.
  • Pembangun tindanan penuh: Untuk mengendalikan permintaan HTTP di sisi klien dan pelayan.

Kelebihan

  1. Berasaskan janji: Memudahkan untuk bekerja dengan permintaan dan respons tak segerak.
  2. Pemintas: Membenarkan pengubahsuaian permintaan atau respons sebelum ia dikendalikan.
  3. Transformasi Data JSON Automatik: Memudahkan pengendalian data JSON.
  4. Perlindungan CSRF: Membantu dengan perlindungan pemalsuan permintaan merentas tapak.
  5. Transformasi Permintaan dan Respons: Transformasi tersuai permintaan dan respons.
  6. Pengendalian Ralat: Pengendalian ralat dipermudahkan berbanding kaedah lain.
  7. Sokongan Penyemak Imbas Luas: Berfungsi dalam semua penyemak imbas moden dan Node.js.

Penggunaan

Di mana Ia Digunakan

  • Aplikasi Web: Untuk berkomunikasi dengan perkhidmatan bahagian belakang.
  • Aplikasi Node.js: Untuk membuat permintaan HTTP kepada API atau perkhidmatan lain.
  • Aplikasi Mudah Alih: Sebagai sebahagian daripada rangka kerja seperti React Native.

Di Mana Gagal

  1. Aplikasi Berat: Mungkin bukan yang terbaik untuk pemindahan data yang sangat besar disebabkan penggunaan memori.
  2. Had Pelayar: Tertakluk pada sekatan dasar asal yang sama melainkan CORS dikendalikan dengan betul.
  3. Saiz Kebergantungan: Kebergantungan tambahan untuk mengurus, yang boleh menjadi kebimbangan untuk projek minimalis.

Mengapa Ia Digunakan

  • Kemudahan Penggunaan: API Mudah untuk melaksanakan permintaan HTTP.
  • Fleksibiliti: Mudah dikonfigurasikan dan boleh dikembangkan.
  • Sokongan Komuniti: Penerimaan meluas dan sokongan komuniti yang meluas.

Mengapa Ia Tidak Akan Digunakan

  • Saiz Perpustakaan: Overhed untuk menambah pergantungan lain.
  • Alternatif: Keutamaan untuk API Ambil atau perpustakaan lain seperti permintaan atau superagen.

Bagaimana Ia Digunakan

Pemasangan

npm install axios
Salin selepas log masuk

Penggunaan Asas

const axios = require('axios');

// Performing a GET request
axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });
Salin selepas log masuk

Penggunaan Terperinci dengan Komen

const axios = require('axios');

// Create an instance of axios with default settings
const instance = axios.create({
  baseURL: 'https://api.example.com',
  timeout: 1000,
  headers: { 'X-Custom-Header': 'foobar' }
});

// Interceptor to log request details
instance.interceptors.request.use(request => {
  console.log('Starting Request', request);
  return request;
});

// Interceptor to log response details
instance.interceptors.response.use(response => {
  console.log('Response:', response);
  return response;
});

// Making a POST request
instance.post('/user', {
  firstName: 'Fred',
  lastName: 'Flintstone'
})
  .then(response => {
    console.log('User created:', response.data);
  })
  .catch(error => {
    console.error('Error creating user:', error);
  });
Salin selepas log masuk

Contoh Penyalahgunaan

  1. Mengabaikan Pengendalian Ralat: Tidak mengendalikan ralat dengan betul boleh menyebabkan ranap aplikasi.
axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  });
// Error handling should not be omitted
Salin selepas log masuk
  1. Kod Menyekat dengan Permintaan Segerak: Axios tidak menyokong permintaan segerak, menggunakannya dengan cara yang mengharapkan tingkah laku segerak adalah tidak betul.

Kaedah

Kaedah Contoh

  • axios(konfigurasi)
  • axios(url[, konfigurasi])

Kaedah Permintaan

  • axios.request(config)
  • axios.get(url[, konfigurasi])
  • axios.delete(url[, konfigurasi])
  • axios.head(url[, konfigurasi])
  • axios.options(url[, config])
  • axios.post(url[, data[, konfigurasi]])
  • axios.put(url[, data[, konfigurasi]])
  • axios.patch(url[, data[, konfigurasi]])

Kaedah Kemudahan

  • axios.all(iterable)
  • axios.spread(panggilan balik)

Mencipta Kejadian

  • axios.create([config])

pemintas

  • axios.interceptors.request.use(onFulfilled[, onRejected[, options]])
  • axios.interceptors.response.use(onFulfilled[, onRejected[, options]])

Tetapan Lalai

  • axios.defaults

Batal

  • axios.Batal
  • axios.CancelToken
  • axios.isBatal

Kesimpulan

Axios ialah perpustakaan yang teguh dan mudah digunakan untuk membuat permintaan HTTP dalam aplikasi JavaScript. Ia menyediakan API yang berkuasa dengan ciri seperti pemintasan permintaan dan tindak balas, transformasi JSON automatik dan seni bina berasaskan janji. Walau bagaimanapun, adalah penting untuk memahami batasannya dan menggunakannya dengan sewajarnya untuk mengelakkan kemungkinan perangkap.

Atas ialah kandungan terperinci Axios. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!