( منبع مقاله ایجکس Ajax : آکادمی آی تی)
Ajax مخفف Asynchronous JavaScript And XML و یک اسکریپت Client Side است که با پایگاه داده سرور بدون نیاز به لود کامل صفحه ارتباط برقرار میکند. به عبارتی میتوان Ajax را روشی برای تبادل اطلاعات با سرور و بهروزرسانی قسمتهایی از صفحه وب بدون نیاز به لود مجدد کل صفحه دانست.
مزیتهای Ajax
- Callback: بهوسیله Ajax امکان ارسال درخواست به سرور و یا دریافت از سرور به منظور بازیابی یا ذخیره داده بدون ارسال کل صفحه به سرور وجود دارد. عدم ارسال کل اطلاعات فرم به سرور، استفاده از پهنای باند را به حداقل میرساند و در نتیجه عملیات سریعتر انجام میشود. بدیهی است که این کار باعث افزایش کارایی شبکه در سایتها و مناطقی با پهنای باند محدود خواهد شد. همچنین با بهکارگیریCallbackها دیگر نیازی به پردازش تمام عناصر فرم نخواهد بود و ارسال اطلاعات ضروری به جای کل اطلاعات، پردازشهای سرور را نیز کاهش میدهد.
-
- User friendly (کاربر پسند): بدیهی است عدم لود مجدد صفحه و در نتیجه عدم پرش صفحه یا نمایش صفحه سفید در هنگام refresh و افزایش محسوس سرعت نمایش اطلاعات، حس خوب تجربه کاربری (Ux) را افزایش خواهد داد.
- Increased Speed (افزایش سرعت): اصلیترین هدف Ajax افزایش سرعت، کارایی و قابلیت استفاده (Usability) وب سایت است. از بارزترین نمونههای کاربردی Ajax، میتوان به رتبهدهی کاربران به یک فیلم، برنامه، محصول یا هر سرویس ارائه شده دیگر و ذخیره این اطلاعات در پایگاه داده سایت بدون نیاز به صبر برای لود مجدد صفحه اشاره کرد.
- Making Asynchronous Calls (ایجاد فراخوانیهای غیرهمزمان): استفاده از Ajax امکان برقراری تماسهای غیرهمزمان با سرور را فراهم میکند و در نتیجه مرورگر کاربر بدون صبر برای دریافت کل اطلاعات، میتواند فعالیت جدیدی را انجام دهد.
روش عملکرد Ajax
Callbackهای Ajax با ایجاد شی XMLHttpRequest در جاوااسکریپت Client Side انجام میشود. شی XMLHttpRequest به صورت مستقیم میتواند برای فراخوانی شیهای Server Side مانند صفحهها یا وب سرویسها مورد استفاده قرار بگیرد.
کلمه غیرهمزمان (Asynchronous) در نام Ajax به معنای انجام چند رویداد به صورت مستقل از یکدیگر است. در صورت ایجاد یک Callback از طرفclient، نیازی به صبر برای دریافت پاسخ نیست و کاربر در زمان پردازش درخواست میتواند به استفاده از وب سایت ادامه دهد. همانطور که بیان شدAjax تکنولوژی نیست اما از تکنولوژیهای مختلفی استفاده میکند:
– Html و Css جهت نمایش محتوا
– Document Object Model) Dom): برای نمایش پویا و برقراری ارتباط کاربر با اطلاعات نمایش داده شده
– جاوااسکریپت و XMLHttpRequest به منظور فراهم کردن روشی برای تبادل اطلاعات غیر همزمان بین مرورگر و سرور در جهت جلوگیری از لودهای مجدد کل صفحه
پیشرفتهای Ajax
میدانیم که Ajax از ترکیب جاوااسکریپت و XML تشکیل میشود. جاوااسکریپت یک زبان برنامهنویسی Client Side و XML زبان نشانهگذاری برای نمایش محتوا است. JavaScript Object Notation) JSON) نیز یک زبان نشانهگذاری دیگر برای تعریف داده میباشد که استفاده از آن به همراه JavaScript بسیار سادهتر از XML است. امروزه وب سرویسهای JSON در Ajax جایگزین XML شدهاند.
یکی دیگر از پیشرفتهای Ajax استفاده از jQuery برای نوشتن سادهتر کدهای جاوااسکریپت در جهت هدایت و اعمال تغییرات در صفحه وCallbackهای غیرهمزمان Ajax است.
ابزارهای کنترل اضافه شده بهوسیله مایکروسافت به Visual Studio، کار برنامهنویسان وب که از زبان ASP.net استفاده میکنند را بسیار راحتتر کرده است.
در کجای برنامه باید از Ajax استفاده کرد؟
در هر جایی از برنامه که میزان اطلاعات پردازشی برای بازیابی یا ذخیره، کم باشد باید از Ajax استفاده کرد. به عنوان نمونه برای کاربرد Ajax میتوان به موارد زیر اشاره کرد:
- بررسی اعتبار فرم (Data Validation)
- تغییر اطلاعات در drop down listها بر اساس یک وروردی دیگر. (مانند انتخاب کشور و پر شدن اسم شهرهای آن در drop down list)
- بازیابی یا ذخیره متغیرهای session در سرور بر اساس سلیقه کاربر مثل عرض، ارتفاع یا موقعیت یک شی. (تنظیم عرض باعث ایجادCallback در سرور برای تنظیم مقدار جدید عرض میشود. در این روش در refresh بعدی صفحه، سرور عرض شی را بر اساس متغیرsession تنظیم خواهد کرد؛ در غیر این صورت عرض شی به مقدار پیش فرض خود بازخواهد گشت.)
- فراهم شدن امکان خاص و با ارزش پرشدن اتوماتیک text boxها بر مبنای حرفهای ورودی کاربر. (کاربر قسمتی از حروف یک کلمه را تایپ میکند و لیستی از کلمههایی که با آن کاراکترها شروع میشوند در پایین box نمایش داده خواهند شد. برای این کار یک Callback به سرور برای select مقادیری که با حروف وارد شده شروع میشوند، فرستاده میشود.)