شما به عنوان یک طراح وب سایت و یا کسی که با وب سروکار دارد به احتمال بسیار زیاد واژه ی ایجکس را شنیده اید. در این مقاله که یک تحقیق و بررسی در مورد این تکنولوژی است شما را بصورت مختصر و مفید با مفهوم ajax آشنا می سازیم.
در زمانهای گذشته وب سایت ها برای نمایش مجدد اطلاعات یک صفحه از وب سایت مجبور بودند که صفحه رفرش شده و آن اطلاعات را در روی صفحه نمایش دهند. فکرش را بکنید این برای یک وب سایت ارایه دهنده ایمیل یعنی اینکه هر کاربر باید برای نوسازی صندوق ورودی خود، کل سایت را رفرش نماید. وقتی کاربر تقاضای رفرش صفحه را می کند تمام فایل های html,css,js,... باید مجددا فراخوانی شوند و این بسیار ناکارآمد می باشد.
بهترین حالت در این مورد این می باشد که مرورگر نامه جدید را به صندوق ورودی کاربر اضافه کند و نه اینکه کل صفحه را مجددا بارگیری نماید.
از سال 2003 به بعد، مرورگرها خود را با XMLHttpRequest (XHR) انطباق دادند. این تکنولوژی این امکان را فراهم می سازد که بدون رفرش کل صفحه اطلاعات جدید اضافه شده به سرور را دریافت کرد.
XMLHttpRequest بخشی از یک تکنولوژی بزرگتر میباشد که به AJAX (Asynchronous JavaScript and XML) می باشد
استفاده از AJAX موجب می شود تا اطلاعات بین مرورگر و سرور جابجا شوند و استفاده از XMLHttpRequest باعث می شود تا کارها بدون رفرش صفحه انجام شود.
با استفاده گسترده از XMLHttpRequest می توان برنامه هایی در حد و اندازه های Google maps و Gmail ساخت که در این برنامهها با استفاده از XMLHttpRequest کاشیهای جدید در برنامه نقشه و ایمیل های جدید در برنامه جیمیل لود می شوند.
درخواست های ایجکس با استفاده از کدهای جاواسکریپت ارسال و دریافت می شوند، بدین صورت که کد شما یک درخواست را به سمت یک URL ارسال کرده و بعد از دریافت پاسخ از سمت سرور با استفاده از تابع callback می توانید پاسخ دریافت شده را مدیریت نمایید.
چون درخواست ها بصورت غیرهمزمان Asynchronous ارسال و دریافت می شود، در فاصله پردازش دستورات ارسال شده به سمت سرور بسیاری از پاسخ های مطلوب نیز آماده استفاده است، لذا بسیار ضروری است که بتوان تابع callback را مدیریت کرد.
متاسفانه مرورگرهای مختلف از AJAX به شکل های مختلفی استفاده میکنند.
و طراحان وبسایت معمولا باید سایت خود را در مرورگرهای مختلف تست نمایند تا از صحت عملکرد توابع مطلع گردند.
خوشبختانه با پشتیبانی ای که JQUERY از AJAX دارد مشکل عدم سازگاری با مرورگرهای مختلف تست شده است.