مرکز آموزش اولین دیتا

آژاکس (Ajax) چیست ؟

0

این روزها همه AJAX را میشناسن و دیگه کار سختیه که وب سایتی را پیدا کرد که از این تکنولوژی استفاده نکرده باشه (البته به غیر از وب سایت های سازمان های معظم دولتی). اما واقعا AJAX چیست؟

AJAX یا همان  Asynchronous JavaScript and XML مجموعه ای از تکنیک های برنامه نویسی تحت کلاینت در وب است که به برنامه نویسان امکان توسعه نرم افزارهای تحت وب به صورت Asynchronous را می دهد. در واقع با استفاده از تکنیک های AJAX برنامه نویس امکان تبادل اطلاعات از کلاینت به سرور را به صورت Asynchronous در پس زمینه یک صفحه دارد. برای روشن تر شدن فرض کنید که می خواهید یک فرم ثبت نام برای سرویس ایمیل را پر کنید. در حالت عادی شما با پر کردن کلیه فیلدهای فرم و کلیک بر روی دکمه ثبت نام اطلاعات را به سرور ارسال می کنید تا وب سایت مورد نظر پس از بررسی اطلاعات ارسال شده از طرف شما ، سرور یک صفحه کامل و جدید را که حاوی نتیجه بررسی است را برای شما ارسال می کند. خوب قطعا در صورتیکه که نام کاربری مورد نظر شما قبلا ثبت شده باشد ، شما مجبورید اطلاعات کاربری خود را تصحیح کنید و مجددا درخواست خود را به سرور ارسال و در نهایت ثبت نام را انجام دهید. در این حالت (Synchronous) شما برای دریافت هر پاسخ از سرور مجبورید یک صفحه کامل شامل Markup کامل صفحه ، به همراه CSS و JavaScript و حتی تصاویر مربوطه را دوباره Load کنید.

AJAX-synchronous-request

در نقطه مقابل شما با استفاده از AJAX می توانید درخواست خود را به صورت Asynchronous و در پس زمینه صفحه به سرور ارسال و پاسخ را از سرور دریافت کنید. فرض کنید که ما برای مطلع شدن از وجود نام کاربری انتخابی(User Name) کاربر یک درخواست به سرور ارسال می کنیم، در این حالت مدامی که کاربر در حال پرکردن سایر فیلدهای اطلاعاتی است ما می توانیم یک درخواست (به علت Asynchronous بودن درخواست) حاوی نام کاربری انتخابی به سرور ارسال و از عدم وجود آن اطمینان پیدا کنیم و در صورتیکه سرور پاسخی مبنی بر تکراری بودن نام کاربری برای ما ارسال کرد ، کاربر را با استفاده از پیامی مناسب مطلع سازیم. نکته مهمی که در حالت دوم وجود دارد ، حجم اطلاعات تبادل شده در این روش است. در حالت اول ، شما باید دوبار صفحه کامل را به همراه همه ملحقات بارگزاری می کردید ، اما در حال دوم ، شما صرفا نام کاربری انتخابی و پاسخی که از سرور در بررسی آن ارائه کرده است (که احتمالا کمتر از ۱ کیلوبایت بوده) را دریافت کرده اید. در واقع استفاده از این تکنیک علاوه بر ارائه حس مناسبتر یا همان تجربه کاربرد پذیری (User Experience) بهتر ، باعث بهبود Performance صفحات وب شما نیز می شود.

پست های مرتبط

AJAX-asynchronous-request

برای پیاده سازی AJAX روش های مختلفی وجود دارد. از آنجایی که AJAX در JavaScript و بر پایه موجودیتی به نامXMLHttpRequest  ایجاده شده است ، شما می توانید به صورت مستقیم و با ایجاد کردن یک متغییر از این جنس شروع به برنامه نویسی کنید.

البته شرکت های مختلف نیز برای ساده تر کردن استفاده از این تکنیک محصولات مختلفی ارائه کرده اند که مثلا شرکت مایکروسافت دسته ای از کنترل ها را برای ASP .NET به نام ASP .NET AJAX ارائه کرده است که شما با قراردادن یک کنترل به Script Manager و احتمالا یک یا چند Update Panel شروع به استفاده از آن می کنید.

پیشنهاد من برای برنامه نویسی AJAX استفاده از jQuery و متدهایی است که در jQuery AJAX برای این موضوع در نظر گرفته شده است. jQuery به علت پشتیبانی از اکثر مرورگر ها و سبک بودن و قابلیت انعطاف پذیری بالا در اکثر مواقع برای من اول گزینه می باشد.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد .