کار کردن با Ajax در jQuery


واژه Ajax مخفف عبارت Asynchronous JavaScript and XML می باشد. در زبان JavaScript قابلیت هایی برای ارسال http request ها بصورت asynchronous با استفاده از XMLHttpRequest وجود دارد. منظور از Ajax استفاده کردن از این قابلیت JavaScript برای ارسال کردن http request ها به صورت asynchronous و دریافت کردن داده ها به صورت XML در قالب یک response می باشد؛ البته response می‌تواند در فرمت های دیگری غیر از XML نیز دریافت ‌بشود. پس از دریافت کردن response برنامه می‌تواند قسمتی از یک web page را با استفاده از JavaScript و بدون نیاز به reload کردن کامل web page به‌روزرسانی کند. تصویری که در قسمت زیر مشاهده می کنید این توانمندی از Ajax را به نمایش گذاشته است.


در کتابخانه jQuery متدهای مختلفی برای ارسال کردن Ajax request ها وجود دارد. این متدها به صورت درونی از XMLHttpRequest مربوط به JavaScript استفاده می‌کنند. در ادامه به صورت کوتاه به بررسی متدهای مختلف jQuery برای کار کردن باAjax خواهیم.

  • متد ajax: ارسال کردن http request به صورت asynchronous به سمت سرور
  • متد get: ارسال یک http GET request برای دریافت کردن داده ها از سمت سرور
  • متد Post: ارسال کردن یک http POST request برای ارسال کردن داده ها به سمت سرور
  • متد getJSON: ارسال یک http GET request به سمت سرور برای دریافت کردن JSON encoded data از سمت سرور
  • متد getScript: ارسال یک http GET request به سمت سرور برای بارگذاری کردن یک فایل JavaScript از سمت سرور و سپس اجرا کردن آن
  • متد load: ارسال یک http request به سمت سرور برای بارگذاری کردن یک محتوای html و یا متنی و سپس اضافه کردن آن به DOM element ها

علاوه بر متدهایی که در قسمت بالا بررسی شدند، در کتابخانه jQuery رویدادهایی نیز وجود دارند که می‌توانند بر اساس state و یا حالت Ajax request ایجاد شوند. در قسمت زیر در رابطه با این event ‌ها صحبت خواهیم کرد.

ajaxComplete: دریافت یک handler function که در زمان کامل شدن Ajax request اجرا خواهد شد

ajaxError: دریافت یک handler function که در زمان کامل شدن یک Ajax request به همراه خطا ایجاد خواهد شد.

ajaxSend: ایجاد یک handler function که قبل از ارسال کردن Ajax request اجرا خواهد شد

ajaxStart: ایجاد یک handler function که در زمان آغاز شدن اولین Ajax request صدا زده خواهد شد

ajaxStop: ایجاد یک handler function که زمانی که تمامی Ajax request ها کامل شده اند اجرا خواهد شد.

ajaxSuccess ایجاد یک handler function که در زمان کامل شدن موفقیت آمیز یک Ajax request اجرا خواهد شد.

ضمناً برخی از مزایای مربوط به jQuery Ajax را به صورت تیتر وار در این قسمت برای شما قرار داده ایم:

  1. پشتیبانی از مرورگرهای مختلف
  2. وجود متدهای ساده برای استفاده کردن
  3. توانمندی به ارسال GET request ها و POST request ها
  4. توانمندی به load کردن داده ها به صورت JSON و XML و HTML و یا حتی script ها

منبع: وبسایت پرووید