Ajax مخفف Asynchronous JavaScript And XML و یک اسکریپت Client Side است که با پایگاه داده سرور بدون نیاز به لود کامل صفحه ارتباط برقرار میکند. به عبارتی میتوان Ajax را روشی برای تبادل اطلاعات با سرور و بهروزرسانی قسمتهایی از صفحه وب بدون نیاز به لود مجدد کل صفحه دانست.
مزیتهای Ajax
Callback: بهوسیله Ajax امکان ارسال درخواست به سرور و یا دریافت از سرور به منظور بازیابی یا ذخیره داده بدون ارسال کل صفحه به سرور وجود دارد. عدم ارسال کل اطلاعات فرم به سرور، استفاده از پهنای باند را به حداقل میرساند و در نتیجه عملیات سریعتر انجام میشود. بدیهی است که این کار باعث افزایش کارایی شبکه در سایتها و مناطقی با پهنای باند محدود خواهد شد. همچنین با بهکارگیری Callbackها دیگر نیازی به پردازش تمام عناصر فرم نخواهد بود و ارسال اطلاعات ضروری به جای کل اطلاعات، پردازشهای سرور را نیز کاهش میدهد.
Making Asynchronous Calls (ایجاد فراخوانیهای غیرهمزمان): استفاده از Ajax امکان برقراری تماسهای غیرهمزمان با سرور را فراهم میکند و در نتیجه مرورگر کاربر بدون صبر برای دریافت کل اطلاعات، میتواند فعالیت جدیدی را انجام دهد.
User friendly (کاربر پسند): بدیهی است عدم لود مجدد صفحه و در نتیجه عدم پرش صفحه یا نمایش صفحه سفید در هنگام refresh و افزایش محسوس سرعت نمایش اطلاعات، حس خوب تجربه کاربری (Ux) را افزایش خواهد داد.
Increased Speed (افزایش سرعت): اصلیترین هدف Ajax افزایش سرعت، کارایی و قابلیت استفاده (Usability) وب سایت است. از بارزترین نمونههای کاربردی Ajax، میتوان به رتبهدهی کاربران به یک فیلم، برنامه، محصول یا هر سرویس ارائه شده دیگر و ذخیره این اطلاعات در پایگاه داده سایت بدون نیاز به صبر برای لود مجدد صفحه اشاره کرد.
روش عملکرد Ajax
Callbackهای Ajax با ایجاد شی XMLHttpRequest در جاوااسکریپت Client Side انجام میشود. شی XMLHttpRequest به صورت مستقیم میتواند برای فراخوانی شیهای Server Side مانند صفحهها یا وب سرویسها مورد استفاده قرار بگیرد.
کلمه غیرهمزمان (Asynchronous) در نام Ajax به معنای انجام چند رویداد به صورت مستقل از یکدیگر است. در صورت ایجاد یک Callback از طرف client، نیازی به صبر برای دریافت پاسخ نیست و کاربر در زمان پردازش درخواست میتواند به استفاده از وب سایت ادامه دهد. همانطور که بیان شد Ajax تکنولوژی نیست اما از تکنولوژیهای مختلفی استفاده میکند:
– Html و Css جهت نمایش محتوا
– Document Object Model) Dom): برای نمایش پویا و برقراری ارتباط کاربر با اطلاعات نمایش داده شده
– جاوااسکریپت و XMLHttpRequest به منظور فراهم کردن روشی برای تبادل اطلاعات غیر همزمان بین مرورگر و سرور در جهت جلوگیری از لودهای مجدد کل صفحه
ادامه مطلب