مسلماً این قابلیتی است که خیلی ها به دنبال آن هستند زیرا بارگذاری مجدد صفحات وب همواره زمانبر و خسته کننده است ضمن اینکه باعث میشود پهنای باند کاربر نیز بیش از حد مصرف شود. Ajax تکنیکی برای ایجاد صفحات وب سریع و پویا میباشد. Ajax به صفحات وب این امکان را میدهد که به صورت غیر همزمان و تنها با تبادل اطلاعات اندکی با سرور، بخشی از صفحه را به روز رسانی کنند. به این ترتیب میتوان تنها بخش(هایی) از صفحه را بدون بارگذاری کل صفحه به روز رسانی کرد. در صورتی که صفحات معمولی باید کل صفحه را به منظور تغییر محتوا به روز رسانی کنند. بسیاری از سایتهای معروف از جمله Google Maps، Gmail، YouTube و Facebook به شکل وسیعی از این فن آوری استفاده می کنند. یکی از معروفترین مثالهای Ajax، سیستم Google Suggest است که به شکل بسیار زیبایی پیاده سازی شده است. شما عبارتی را در کادر جستجوی Google تایپ میکنید و Google بلافاصله با یک عملیات Ajax پیشنهادهایی را در مورد این عبارت به شما ارائه می کند.
فن آوری های مورد استفاده
عبارت Ajax به طیف وسیعی از فن آوری های وب اشاره دارد که میتوانند برای پیاده سازی یک برنامه تحت وب بکار روند، فن آوریهایی که در پشت صحنه و در سرور فعالیت می کنند و در نتیجه با وضعیت جاری صفحه وب تداخلی ندارند. بطور کلی میتوان گفت فن آوریهای زیر مورد استفاده قرار میگیرند: – HTML یا XHTML و CSS به منظور نمایش محتوا فن آوری DOM (Document Object Model یا مدل شیئی صفحه) برای نمایش پویای داده ها و تعامل با آنها – XML برای تبادل داده ها و XSLT برای مدیریت داده ها – XMLHttpRequest نیز برای تبادل غیر متقارن داده ها بکار میرود – JavaScript به منظور یکپارچه سازی این فن آوری ها البته در حال حاضر عمدتاً بجای XML که فرمتی نسبتاً سنگین است) از JSON برای تبادل داده ها استفاده میشود و حتی امکان استفاده از HTML فرمت بندی شده یا متن ساده نیز به این منظور وجود دارد. برای درک بهتر طرز کار این فن آوری به تصویر زیر نگاه کنید
میتوانیم شکل بالا را در چند مرحله خلاصه کنیم:
ابتدا یک رویداد client (یعنی یک رویداد در مرورگر) رخ میدهد
یک شیء از نوع XMLHttpRequest ساخته میشود
این شیء XMLHttpRequest با اطلاعات لازم پیکربندی میشود
سپس این شیء یک تقاضای غیر همزمان به سرور وب ارسال میکند
وب سرور نیز پس از انجام پردازش لازم، نتیجه را که حاوی شیء XML یا JSON است برگشت میدهد
شیء XMLHttpRequest تابع callback (تابعی که پس از انتهای عملیات فراخوانی میشود) را صدا کرده و نتیجه حاصله )شیء( XML را پردازش می کند.