آموزش JavaScript
۲۶۰ آموزش
نمایش دسته بندی ها (۲۶۰ آموزش)

معرفی Ajax و بیان تفاوت بین Ajax و jquery و javascript

فرض می کنیم که شما قبلا با jquery و javascript آشنایی داشته باشید، بنابراین شاید هنگامی که کدهای Ajax را ببینید، یک ابهام در ذهن شما به وجود بیاید که اصلا تفاوت Ajax و jquery و javascript در چیست، زیرا احساس می کنید که در حال استفاده از jquery و javascript هستید، نه یک چیز جدید. بنابراین بد نیست که تفاوت این سه را در همین ابتدای معرفی Ajax ، بیان کنیم. قبلا و در مباحث مرتبط با jquery بیان کردیم که jquery یک کتابخانه (چارچوب - framework) برای javascript است که به ما امکان می دهد که با نوشتن مقدار کمتری کد، عملیات های بیشتر و سطح بالاتری را اجرا کنیم. اما Ajax یک روش جدید برای ارتباط بین صفحه در حال اجرا در مرورگر اینترنت و یک صفحه پویا (با قابلیت تعامل با سرور و پایگاه داده سایت) می باشد. در واقع، Ajax یک تکنیک (technique) است، نه یک زبان جدید یا هر مورد دیگری که ممکن است به ذهن شما برسد. برای اجرای کدهای Ajax ، به پیش نیاز خاصی احتیاج ندارید. یعنی آن را می توان با کدهای javascript به تنهایی اجرا کرد. در واقع، کدهای Ajax ، همان کدهای javascript می باشد و تنها برای این تکنیک و روش ها و کدهای مربوط به آن، لغت Ajax به کار می رود. دقت شود که اگر در کدهای javascript نوشته شده در یک صفحه، روش های کتابخانه jquery هم به کار رفته باشد، باید به فایل کتابخانه jquery ارجاع داده شود (این مورد را به صورت کلی بیان کردیم، نه برای تکنیک Ajax . زیرا گاهی کدهای javascript ، شامل روش های تکنیک Ajax و همچنین روش های کتابخانه jquery می باشد و کاربر وقتی ارجاع به فایل کتابخانه jquery را حذف می کند و مشاهده می کند که کدها به درستی اجرا نمی شوند، آنگاه تصور می کند که تکنیک Ajax به فایل کتابخانه jquery نیاز داشته است).

حال که تفاوت بین Ajax و jquery و javascript بیان شد (که حداقل پیش نیاز اجرای آن را بدانید و ابهامی در مورد شروع یادگیری یک زبان جدید نداشته باشید)، بیان می کنیم که اصلا Ajax چه قابلیتی را در اختیار ما قرار می دهد که تاکنون از آن محروم بوده ایم. فرض کنید وب سایت ما با یک زبان پویا (داینامیک) مثل PHP برنامه نویسی شده باشد. وقتی کاربر یک صفحه PHP (با پسوند php) از سایت را در مرورگر اینترنت خود اجرا می کند، کدهای PHP در سرور سایت اجرا شده و نتیجه آن، به صورت کد HTML (که استاتیک است) به کامپیوتر کاربر ارسال شده و در مرورگر اینترنت وی، کدهای HTML اجرا می شوند و کاربر نتیجه را در خروجی مرورگر اینترنت مشاهده می کند. پس مرحله اجرای کد PHP ، در سرور و مرحله اجرای کد HTML ، در کامپیوتر کاربر است. پس صفحه PHP نمی تواند انتخاب های کاربر در صفحه را ببیند، در واقع انتخاب هایی که کاربران در صفحه HTML انجام می دهند (مثل تغییر اطلاعات یک فرم و انتخاب های آن)، تنها با همان کد HTML موجود در صفحه است و تا زمانی که یک درخواست دیگر به سرور نفرستند، صفحات سرور از انتخاب های کاربر با خبر نخواهند بود.

بنابراین چنانچه ما بخواهیم بر اساس انتخاب های کاربر در صفحه (و البته بدون اجرای یک صفحه دیگر و تنها با ایجاد تغییراتی در همین صفحه)، اطلاعاتی را به سرور بفرستیم یا اطلاعاتی را از سرور دریافت کنیم، نیاز به یک تکنیک جدید داریم که همان Ajax است. پس Ajax به ما این قابلیت را می دهد که بدون استفاده از روش های معمول برای تبادل اطلاعات با سرور، در پس زمینه همین صفحه فعلی، تبادل اطلاعات با سرور (صفحات داینامیک یا سرور) داشته باشیم (ایجاد یک سری تعامل ها بین کامپیوتر کاربر و صفحات پویا در سرور، بدون استفاده از روش های رایج مثل اجرای صفحه جدید یا درخواست هایی از جنس روش های GET و POST). دقت شود که اگرچه می گوییم تعامل با صفحات داینامیک سرور، ولی در واقع این تعامل می تواند هم با صفحات داینامیک و هم با صفحات استاتیک موجود در سرور صورت گیرد (در کل، صفحه ای غیر از صفحه فعلی که در مرورگر اینترنت کاربر نمایش داده شده است).

Ajax از روش XMLHttpRequest برای ارتباط با سرور (صفحات سرور) استفاده می کند. لغت Ajax ، مخفف Asynchronous Javascript And XML می باشد (در واقع به این نکته اشاره دارد که در آن از کدهای javascript برای ایجاد XMLHttpRequest استفاده می شود).

به عنوان مثال های عملی برای آموزش چگونگی استفاده از Ajax ، برای تبادل اطلاعات بر اساس روش GET ، کلید شماره 3453 و برای تبادل اطلاعات بر اساس روش POST ، کلید شماره 3454 را بخوانید. در این دو کلید (مبحث)، به فایل کتابخانه jquery ارجاع داده نشده و عملا متوجه خواهید شد که برای استفاده از تکنیک Ajax ، نیازی به کتابخانه jquery نیست.

نویسنده علیرضا گلمکانی
شماره کلید 3452
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)