AJAX چیست؟
اگر بخواهبم به ساده ترین شکل بیان کنیم که ایجکس چیست و چطور عمل میکند باید بگوییم به طرز کار صفحات وب نگاه کنید متوجه میشوید که برای نمایش هر مطلب یا صفحهی جدید، صفحات وب مجدداً بارگذاری (refresh) میشوند تا محتوای جدید را نمایش دهند.
تکنولوژی AJAX ایجاد شده تا بدون نیاز به refresh کل صفحه، بخشی از اطلاعات صفحه بارگذاری شود.
در واقع این تکنولوژی به کاربر اجازه میدهد بدون بارگذاری مجدد صفحه، دادههایی را به سرور ارسال کند تا در آنجا پردازش شوند. سپس اطلاعات را دریافت و در صفحه وب به نمایش در آورد.
مخفف عبارت Asynchronous JavaScript and XML و به معنای ترکیب جاوا اسکریپت و xml غیرهمزمان و ناهمگام است. آشنایی با این تکنولوژی پرکاربرد برای توسعه دهندگان و طراحان ضروری است.
نمونههایی از ایجکس
هر بار که روی آیکون ستارهها کلیک میشود (بدون آنکه صفحه مجدد بارگذاری شود) امتیاز مدنظر شما دریافت میشود و به سرور ارسال میگردد.
بعد از محاسبهی میانگین جدید، نتیجه در سایت نمایش داده میشود. همه ی این موارد فقط در چند ثانیه و با کمک فناوری ایجکس یا همان آژاکس انجام میشود.
همچنین یکی از بهترین مثالهایی که میتوان زد، google suggestion است. هنگامی که شما در باکس جستجوی گوگل در حال نوشتن عبارتی برای جستجو هستید، گوگل بدون refresh صفحه، موارد مشابه را پیدا میکند و آنها در یک لیست به شما نمایش میدهد.
همانطور که میبینید کار با این فناوری بسیار هیجان انگیز به نظر میرسد!
نحوهی کار Ajax چگونه است؟
این کار طی چند مرحله و با ایجاد یک event مثلا با کلیک روی یک دکمه یا لینک آغاز میشود.
مرورگر به کمک جاوا اسکریپت یک شی از xmlhttprequest میسازد و به کمک اینترنت آن را به سرور ارسال میکند.
در سرور درخواست دریافت و پردازش میشود. سپس نتیجهی آن به مرورگر بازگردانده میشود.
مرورگر پاسخ را به کمک جاوا اسکریپت دریافت و نمایش میدهد.
مزایا و معایب ایجکس چیست؟
مانند هر تکنولوژی دیگر ایجکس هم دارای مزایا و معایب مخصوص به خود است.
-
مهمترین مزایای ایجکس:
- خواندن اطلاعات از سرور بعد از لود شدن صفحه
- بروزرسانی یک صفحه بدون نیاز به بارگذاری مجدد آن
- ارسال داده به سرور در پسزمینهی سایت
-
مهمترین معایب ایجکس:
- استفاده از درخواست xmlhttp که ممکن است توسط برخی از مرورگرها پشتیبانی نشود.
- اجرا نشدن دستورات AJAX درصورتی که جاوا اسکریپت مرورگر توسط کاربر غیرفعال شده باشد.
- دشواری بیشتر در اشکالزدایی و تست برنامههای ایجکس