اگر شما به تازگی به دنیای توسعه وب و طراحی آن وارد شده باشید احتمالا مفهوم AJAX به گوش شما خورده است. AJAX یا ایجکس تکنولوژی جدیدی است که کمک می کند بدون بارگذاری کل صفحه، محتوای بخش تغییر داده شده را آپدیت کنیم. برای اینکه به سوال ajax چیست پاسخ دهیم تا انتهای مقاله با ما باشید. در ادامه مقاله به نحوه کار ایجکس و اجزای آن می پردایم.
ایجکس یا ajax چیست ؟
AJAX مخفف چیست؟ عبارت AJAX مخفف کلمات Asynchronous JavaScript and XML می باشد و تکنیکی جهت ساخت صفحات پویا و سریع است که می تواند بدون لود شدن کل صفحه، بخشی از آن را به آپدیت و آن را به سرور ارسال کند. در صورتیکه در صفحات وب کلاسیک با تغییر بخشی از صفحه، کل آن بایستی لود شود.
Ajax از قسمت های زیر تشکیل شده است:
نمایش اطلاعات در مرورگرها در قالب HTML و CSS
۲ذخیره سازی اطلاعات در قالب Text Xml که از سمت سرور دریافت شده است.
جاوا اسکریپت که بخش اصلی Ajax است ولی Ajax مختص جاوا اسکریپت نیست. اخیرا Framework های جدیدی برای Ajax ارائه شده یکی از آنها Atlas و نسخه ی جدیدتر آن Asp.net Ajax می باشد.

تاریخچه فناوری ajax
فناوریهایی که Ajax را تشکیل می دهند علیرغم تمام جذابیتها و مزایای خود واقعا جدید نیستند. توانایی برقراری ارتباط با سرور، از طریق یک فریم مخفی و بدون ارسال صفحه اصلی به سرور، از مدتها پیش شناخته شده است. برقراری ارتباط مابین کلاینت و سرور، از زمان معرفی توانایی Internet Explorer برای اسکریپت نویسی کنترلهای ActiveX بر روی مرورگر کلاینت و مولفه های MSXML (که هر دو آنها به اواخردهه ۱۹۹۰میلادی مربوط می شوند) قابل دسترسی بوده است.
Ajax از چه تکنولوژی هایی استفاده میکند؟
Ajax تنها یک کلمه است اما پشت آن مفاهیم و تکنولوژیهای مختلفی قرار دارد که استفاده از این تکنیک را میسر میسازد. تکنولوژیهایی که در پشت پرده یعنی در سرور فعال هستند و تداخلی با فعالیت کاربر در سایت ندارند. HTML (یا XHTML) و CSS بخشی مهمی در کار با Ajax هستند و ما به کمک آنها محتوای صفحه را نمایش میدهیم. از فناوری DOM (Document Object Model) برای تعامل بیشتر با دادهها و نمایش پویای عناصر استفاده میکنیم.
همینطور به کمک XML دادهها را تبادل کرده و با XSLT دادهها را مدیریت میکنیم و XMLHttpRequest نقش مهمی در Ajax ایفا میکند و اجازه میدهد دادهها به طور غیرمتقارن جا به جا شوند. همینطور برای یکپارچهسازی تکنولوژیهای بالا از زبان جاوا اسکریپت استفاده میکنیم. به خاطر سنگین بودن فرمت XML، برای تبادل دادهها بیشتر از JSON به جای XML استفاده میشود و حتی امکان استفاده از HTML فرمت بندی شده یا متن ساده نیز وجود دارد.
بیشتر بخوانید : بازدید ارگانیک چیست ؟ تفاوت های بین بازدید ارگانیک و بازدید خریداری شده
مواردی که میتوان در آنها از ajax استفاده کرد
- اعتبار سنجی فرمها
- لایت باکس
- مرتب سازی یا فیلتر
- رای دهی یا لایک کردن
- چت و گفتگوها
- کپچا (Captcha)
مزایای استفاده از AJAX چیست
- تعداد درخواست ها و پاسخ های بین server و client را کاهش میدهد.
- عملکرد و سرعت پاسخ از سرور به طرز چشمگیری افزایش پیدا میکند.
- توانایی استفاده از فایل JSON برای ارسال و دریافت داده از server.
- بخاطر وجود اکستنشن های حرفه ای مثل firebug، دیباگ کردن درخواست های ایجکس خیلی راحت تر میشه.
- کتابخونه و فریمورک های زیادی از جاوااسکریپت از Ajax استفاده میکنند. (Jquery , prototype و…).
- جامعه آماری بسیار بزرگ و رفع مشکل بسیار راحت.

معایب استفاده از AJAX
AJAX به جاوا اسکریپت بسیار وابسته است. این به نظر می رسد یک مانع بوجود می آورد، که AJAX مجبور است در بسیاری از مرورگرها کار کند. مرورگرانی که از جاوا اسکریپت پشتیبانی نمی کنند و گزینه جاوا اسکریپت را غیرفعال می کنند قادر به استفاده از قابلیت های آن نخواهند بود. با توجه به وابستگی AJAX به جاوا اسکریپت، برای طراحی برنامه های کاربردی موبایل مناسب نیست.
استفاده از AJAX باعث می شود، اشکال زدایی صفحات وب دشوار شود و حجم استفاده از کدهای صفحه وب افزایش یابد، و صفحه وب را با تهدید امنیتی رو به رو نماید.
پیشرفتهای Ajax
میدانیم که Ajax از ترکیب جاوا اسکریپت و XML تشکیل میشود. جاوا اسکریپت یک زبان برنامهنویسی Client Side و XML زبان نشانهگذاری برای نمایش محتوا است. JavaScript Object Notation) JSON) نیز یک زبان نشانهگذاری دیگر برای تعریف داده میباشد که استفاده از آن به همراه JavaScript بسیار سادهتر از XML است. امروزه وب سرویسهای JSON در Ajax جایگزین XML شدهاند.
یکی دیگر از پیشرفتهای Ajax استفاده از jQuery برای نوشتن سادهتر کدهای جاوا اسکریپت در جهت هدایت و اعمال تغییرات در صفحه و Callback های غیرهمزمان ایجکس است.
ابزارهای کنترل اضافه شده بهوسیله مایکروسافت به Visual Studio، کار برنامهنویسان وب که از زبان ASP.net استفاده میکنند را بسیار راحتتر کرده است.

مهم ترین کاربردهای Ajax
- دریافت اطلاعات از سرور حتی پس از لود شدن کامل صفحه وب
- ارسال داده و اطلاعات به سمت سرور جهت ذخیره آمار فعالیت کاربر بدون اطلاع کاربر در بک گراند
- آپدیت بخشی از صفحه وب بدون رفرش صفحه
- بررسی وجود کاربر در سایت در هنگام ثبت نام کاربر جدید
- پیاده سازی Live Search (جستجوی زنده)
- پیاده سازی فیلترهای مختلف بدون رفرش شدن صفحه
- کار با پایگاه داده (ایجاد – ویرایش – حذف) داده با ارسال درخواست به سمت سرور
و بسیاری از کاربردهای دیگر