ایجکس یک تکنولوژی نیست؛ بلکه مجموعهایست از تکنولوژیهایی که هر یک در جای خود تکنولوژی کامل و موفقی هستند، و اکنون به شکل جدیدی در کنار هم قرار گرفته و ایجکس را تشکیل دادهاند.
اِیْجکس (AJAX؛ مخفف عبارت Asynchronous JavaScript And XML) به معنی (ترکیب نامتقارن JavaScript و XML) ، مجموعهای از استانداردها و فناوریهای وب است که به کمک آنها میتوان برنامههایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند. با استفاده از این فناوریها و با کمک انتقال تکههای کوچک داده و اطلاعات از سرور ، صفحات وب از حالت منفعل خارج میشوند و واکنشهایی مناسب با رویدادها انجام میدهند. ایجکس معماری جدیدی برای برنامههای تحت وب است، که با سرعت بسیار زیادی در حال گسترش بوده، و کمتر کاربر اینترنت است که هنوز گذرش به یکی از صفحاتی که با این معماری ساخته شدهاند نیفتاده، و از قابلیتهای فوقالعاده آن بهرهمند نشده باشد. Gmail، Google Map، Google Suggest، Orkut، و اسامی آشنای دیگر، نمونههایی هستند از کاربرد ایجکس. با استفاده از این معماری، صفحات وب تعامل بسیار خوبی با کاربران خواهند داشت. بعلاوه، مهمترین مزیت این معماری این است که دیگر برای انجام هر کاری، لازم نیست صفحه وب دوباره بارگذاری شود. در این مقاله به بررسی تاریخچه، اصول، و شیوه? انجام کارها در این معماری خواهیم پرداخت.
مجموعه فناوریهای تشکیل دهنده ایجکس
- نمایش استاندارد با استفاده از اکساچتیامال و سیاساس
- نمایش پویایی و تعاملات با استفاده از مدل شیءگرای سند
- تبادل و دستکاری دادهها با استفاده از XML و تبدیلات اکساسال،
- بازیابی دادهها بصورت غیر همروند با استفاده از XMLHttpRequest،
- نهایتاً جاوااسکریپت برای سرهمبندی همه چیز با هم.
روند کاری ای جکس
بجای اینکه مرورگر در آغاز ارتباط تنها یک صفحه HTML را بارگذاری کند، یک موتور ایجکس را نیز همراه با صفحه بارگذاری میکند، که به زبان جاوااسکریپت نوشته شده و معمولاً مابین فریمهایی در صفحه پنهان شدهاست. این موتور عامل بهروز کردن رابط کاربریای که کاربر میبیند، و همچنین برقراری ارتباط با سرور در پشت پرده است. موتور Ajax امکان تعامل کاربر با برنامه را، مستقل از ارتباطات و نقل و انتقالات بین برنامه و سرور میدهد. بنابر این، کاربر دیگر شاهد یک صفحه خالی و ساعت شنی و انتظار برای انجام عملیات سمت سرور نخواهد بود.
آن دسته از فعالیتهای کاربر که باعث یک درخواست HTTP میشدند، اکنون با استفاده از جاوااسکریپت موتور ایجکس را فراخوانی میکنند. در مورد پاسخ به آن دسته از فعالیتهای کاربر که نیاز به ارسال درخواست به سرور ندارند (مانند اعتبار سنجیهای ساده دادهها، ویرایش دادههای درون حافظه سیستم کلاینت، و حتی هدایت کاربر به بخشهای مختلف برنامه در برخی موارد) موتور ایجکس خود وارد عمل میشود. اگر موتور ایجکس برای پاسخ گویی نیاز به چیزی از سمت سرور داشته باشد، (مثلاً اطلاعاتی را از بانک اطلاعاتی بخواهد، کدهای جدیدی برای رابط کاربر لازم داشته باشد و…) بصورت غیر همروند و معمولاً در قالب XML یک درخواست به سرور ارسال میکند. ارسال این درخواست هیچ وقفهای در کار کاربر با برنامه ایجاد نخواهد