پیکربندی $.ajax()

پیکربندی $.ajax() در جی‌کوئری

تابع $.ajax() هسته اصلی انجام درخواست‌های AJAX در کتابخانه jQuery محسوب می‌شود. این تابع انعطاف‌پذیری بالایی در پیکربندی و مدیریت درخواست‌های HTTP ارائه می‌دهد. در این مقاله به بررسی گزینه‌های مهم پیکربندی این تابع می‌پردازیم.

برای یادگیری مفاهیم پایه‌ای AJAX و تفاوت‌های GET/POST می‌توانید اینجا را بخوانید.

پارامترهای اساسی $.ajax()

پارامتر توضیحات مقدار پیش‌فرض
url آدرس مقصد درخواست آدرس صفحه جاری
type نوع درخواست (GET, POST, PUT, DELETE) GET
dataType نوع داده مورد انتظار (json, xml, html, text) Intelligent Guess

گزینه‌های پیشرفته

در ادامه برخی از گزینه‌های پیشرفته‌تر پیکربندی را بررسی می‌کنیم:

  • timeout: مدت زمان انتظار برای پاسخ (میلی‌ثانیه)
  • cache: آیا مرورگر می‌تواند پاسخ را کش کند؟ (true/false)
  • headers: هدرهای سفارشی برای ارسال با درخواست
  • beforeSend: تابعی که قبل از ارسال درخواست اجرا می‌شود
  • complete: تابعی که پس از اتمام درخواست (موفق یا ناموفق) اجرا می‌شود

مثال کاربردی:

$.ajax({
    url: "api/data",
    type: "POST",
    data: {id: 123, name: "test"},
    dataType: "json",
    success: function(response) {
        console.log("موفقیت‌آمیز:", response);
    },
    error: function(xhr, status, error) {
        console.error("خطا:", error);
    }
});

مدیریت پاسخ‌ها

تابع $.ajax() چندین روش برای مدیریت پاسخ‌های سرور ارائه می‌دهد:

  1. success: هنگام دریافت پاسخ موفقیت‌آمیز اجرا می‌شود
  2. error: هنگام بروز خطا در درخواست فعال می‌شود
  3. complete: صرف نظر از موفقیت یا شکست، پس از اتمام درخواست اجرا می‌شود

با استفاده از این گزینه‌ها می‌توانید جریان کاری کاملی برای مدیریت درخواست‌های AJAX ایجاد کنید. برای مثال می‌توانید قبل از ارسال درخواست یک نشانگر بارگذاری نمایش دهید و پس از اتمام آن را مخفی کنید.

توجه داشته باشید که از نسخه jQuery 1.8 به بعد، استفاده از .done(), .fail() و .always() به جای success, error و complete توصیه می‌شود.