Axios

Jul 17, 2024 am 05:55 AM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles