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
-
Berasaskan janji: Memudahkan untuk bekerja dengan permintaan dan respons tak segerak.
-
Pemintas: Membenarkan pengubahsuaian permintaan atau respons sebelum ia dikendalikan.
-
Transformasi Data JSON Automatik: Memudahkan pengendalian data JSON.
-
Perlindungan CSRF: Membantu dengan perlindungan pemalsuan permintaan merentas tapak.
-
Transformasi Permintaan dan Respons: Transformasi tersuai permintaan dan respons.
-
Pengendalian Ralat: Pengendalian ralat dipermudahkan berbanding kaedah lain.
-
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
-
Aplikasi Berat: Mungkin bukan yang terbaik untuk pemindahan data yang sangat besar disebabkan penggunaan memori.
-
Had Pelayar: Tertakluk pada sekatan dasar asal yang sama melainkan CORS dikendalikan dengan betul.
-
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
-
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
-
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
pemintas
- axios.interceptors.request.use(onFulfilled[, onRejected[, options]])
- axios.interceptors.response.use(onFulfilled[, onRejected[, options]])
Tetapan Lalai
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!