"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > أكسيوس

أكسيوس

تم النشر بتاريخ 2024-08-06
تصفح:201

Axios

اقرأ الكود ببطء واتبع تدفق المعلومات وتنسيق المعلومات حسب الحاجة، حيث يتغير

ملخص

Axios هي مكتبة JavaScript شائعة تُستخدم لتقديم طلبات HTTP من كل من المتصفح وNode.js. إنه مشروع مفتوح المصدر مصمم لتبسيط عملية إرسال طلبات HTTP غير المتزامنة إلى نقاط نهاية REST وتنفيذ عمليات CRUD (الإنشاء والقراءة والتحديث والحذف).

المنشئ

تم إنشاء Axios بواسطة Matt Zabriskie. تتم صيانة المشروع من قبل المجتمع وهو متاح على جيثب.

المستفيدون

أكسيوس مفيد لـ:

  • مطورو الواجهة الأمامية: لتقديم طلبات HTTP من تطبيقات الويب.
  • مطورو الواجهة الخلفية: لدمج طلبات HTTP داخل تطبيقات Node.js.
  • مطورو البرامج الكاملة: للتعامل مع طلبات HTTP من جانب العميل والخادم.

مزايا

  1. المستند إلى الوعد: يجعل من السهل التعامل مع الطلبات والاستجابات غير المتزامنة.
  2. المعترضات: تسمح بتعديل الطلبات أو الاستجابات قبل معالجتها.
  3. التحويل التلقائي لبيانات JSON: يبسط التعامل مع بيانات JSON.
  4. حماية CSRF: يساعد في الحماية من التزوير عبر المواقع.
  5. تحويل الطلب والاستجابة: تحويل مخصص للطلبات والاستجابات.
  6. معالجة الأخطاء: معالجة مبسطة للأخطاء مقارنة بالطرق الأخرى.
  7. دعم واسع النطاق للمتصفح: يعمل في جميع المتصفحات الحديثة وNode.js.

الاستخدام

أين يتم استخدامه

  • تطبيقات الويب: للتواصل مع الخدمات الخلفية.
  • تطبيقات Node.js: لتقديم طلبات HTTP إلى واجهات برمجة التطبيقات أو الخدمات الأخرى.
  • تطبيقات الهاتف المحمول: كجزء من أطر عمل مثل React Native.

حيث فشل

  1. التطبيقات الثقيلة: قد لا تكون الأفضل لعمليات نقل البيانات الكبيرة جدًا بسبب استهلاك الذاكرة.
  2. قيود المتصفح: تخضع لقيود سياسة المصدر نفسه ما لم تتم معالجة CORS بشكل صحيح.
  3. حجم التبعية: تبعية إضافية للإدارة، والتي يمكن أن تكون مصدر قلق للمشاريع البسيطة.

لماذا يتم استخدامه

  • سهولة الاستخدام: واجهة برمجة تطبيقات بسيطة لتنفيذ طلبات HTTP.
  • المرونة: قابلة للتكوين والتوسيع بسهولة.
  • دعم المجتمع: اعتماد واسع النطاق ودعم مجتمعي واسع النطاق.

لماذا لن يتم استخدامه

  • حجم المكتبة: النفقات الإضافية لإضافة تبعية أخرى.
  • البدائل: تفضيل Fetch API أو المكتبات الأخرى مثل الطلب أو الوكيل الفائق.

كيف يتم استخدامه

تثبيت

npm install axios

الاستخدام الأساسي

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);
  });

الاستخدام التفصيلي مع التعليقات

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);
  });

أمثلة على سوء الاستخدام

  1. تجاهل معالجة الأخطاء: قد يؤدي عدم التعامل مع الأخطاء بشكل صحيح إلى تعطل التطبيق.
axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  });
// Error handling should not be omitted
  1. حظر التعليمات البرمجية مع الطلبات المتزامنة: لا يدعم Axios الطلبات المتزامنة، واستخدامه بطريقة تتوقع السلوك المتزامن غير صحيح.

طُرق

طرق المثيل

  • أكسيوس (التكوين)
  • أكسيوس(url[, التكوين])

طرق الطلب

  • axios.request(config)
  • axios.get(url[, التكوين])
  • axios.delete(url[, config])
  • axios.head(url[, config])
  • axios.options(url[, config])
  • axios.post(url[, data[, config]])
  • axios.put(url[, data[, config]])
  • axios.patch(url[, data[, config]])

طرق الراحة

  • axios.all(iterable)
  • axios.spread(رد الاتصال)

إنشاء المثيلات

  • axios.create([config])

اعتراضية

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

افتراضيات التكوين

  • axios.defaults

يلغي

  • أكسيوس.إلغاء
  • axios.CancelToken
  • axios.isإلغاء

خاتمة

Axios هي مكتبة قوية وسهلة الاستخدام لتقديم طلبات HTTP في تطبيقات JavaScript. فهو يوفر واجهة برمجة تطبيقات قوية مع ميزات مثل اعتراض الطلب والاستجابة، والتحويل التلقائي لـ JSON، والبنية القائمة على الوعد. ومع ذلك، من الضروري فهم حدوده واستخدامه بشكل مناسب لتجنب المخاطر المحتملة.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/l_thomas_7c618d0460a87887/axios-ndn?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3