همانطور که در هنگام کار با صفحاتی که با زبان های سمت سرور ، مثل ASP.Net یا PHP طراحی شده اند متوجه شده اید ، زمانی که در این صفحات تغییری ایجاد نموده و یا مثلا کنترلی را کلیک نمایید ، صفحه به طور کامل ( حتی بخش هایی که تغییر نکرده اند ) به سرور ارسال شده و در واقع صفحه مجدد لود می شود . سپس در اجرای جدید صفحه نتیجه تغییر ایجاد شده نمایان می شود .
تصور کنید شما به طور مداوم می خواهید محتویات یک صفحه را تغییر دهید ، با هر بار ایجاد تغییر و ارسال کل صفحه به سرور ، چند مشکل عمده به وجود می آید :
با ارسال کل حجم صفحه ( به جای بخشی که فقط تغییر کرده است ) و افزایش حجم اطلاعات مبادله شده ، مدت زمان فرایند پردازش افزایش یافته و باعث اتلاف وقت کاربر می شود .
باعث افزایش ترافیک سرور می شود .
باعث مصرف پهنای باند و مدت زمان بیشتر اینترنت می شود .
در فرایند گسترده ایجاد تغییرات و ارتباط با سرور ، صفحه مرتبا لود و فراخوانی می شود .
اما برای این مشکلات باید چه کار کرد ؟
تکنیک Ajax برای حل این مشکلات ابداع شد . تکنیک ایجکس مانع ارسال کل صفحه به سرور و فراخوانی آن در هنگام تغییر در یک بخش از صفحه می شود .
دیاگرام زیر نشان دهنده نحوه کار Ajax است . به فرایند آن دقت نمایید :
به تشریح دیاگرام بالا می پردازیم .
هنگامی که تغییری در یک بخش از صفحه ایجاد می شود ، Ajax اطلاعات بخشی که تغییر کرده را بدون لود شدن صفحه و ارسال کامل آن به سرور ، توسط یک درخواست HttpRequest و توسط یک شی XMLHttpRequest در یک عملیات پشت پرده به سرور ارسال می کند .
سرور اطلاعات دریافتی را پردازش کرده و نتیجه را به صفحه ارسال می کند .
مرورگر اطلاعات ارسالی از سرور را دریافت و با Java Script پردازش می کند . سپس تغییرات لازم را در بخش تغییر کرده اعمال نموده و محتویات آن را به روز می کند .