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