ajax چیست؟
توسط Fateme Zahra
تکنولوژی ایجکس (AJAX) یک تکنیک پرکاربرد در طراحی وب است که بهبود خدمترسانی به کاربران را در سرویسهای مختلف سبب میشود. همه افرادی که وارد دنیای اینترنت میشوند به نوعی از این تکنولوژی بهره میبرند. حتما هنگامی که جستجویی در گوگل انجام دادهاید مشاهده کردهاید که به محض تایپ کلمات؛ پیشنهادات مشابهی توسط گوگل به شما ارائه میشود. این امکان در پشت صحنه توسط تکنولوژی AJAX برای شما فراهم میشود و در حقیقت ایجکس است که این نتایج را به سرعت برای شما فراخوانی کرده و نمایش میدهد.
یا زمانی که از سرویس Gmail استفاده میکنید و بدون رفرش کردن صفحه ایمیلهای جدید را مشاهده میکنید از این تکنولوژی بهره میبرید. این تکنولوژی مورد استفاده در سایتها و سرویسهای متعددی است.
عبارت AJAX مخفف کلمات Asynchronous JavaScript and XML می باشد و تکنیکی جهت ساخت صفحات پویا و سریع است که می تواند بدون لود شدن کل صفحه، بخشی از آن را به آپدیت و آن را به سرور ارسال کند. در صورتیکه در صفحات وب کلاسیک با تغییر بخشی از صفحه، کل آن بایستی لود شود.
تکنولوژی ایجکس می تواند کاری کند که هنگام تغییر یک صفحه به جای لود شدن کل آن فقط بخش تغییر داده شده لود شود. در این محیط برنامهنویسی، مجموعه ای از فناوریها وجود دارند که مجموعا تحت عنوان ایجکس شناخته می شوند. به عبارت دیگر ایجکس مفهومی مشابه با برنامه نویسی کلاینت-سرور است. با برنامه نویسی کلاینت-سرور، میزان انتقال داده ها بر روی یک نرم افزار کاربردی ترمینال به حداقل ممکن می رسد، زیرا تنها داده های ضروری مابین کلاینت و سرور جابجا خواهند شد. با Ajax نیز تنها داده های ضروری مابین کلاینت و سرور وب جابجا می شوند. این وضعیت استفاده از شبکه و پردازش بر روی کلاینت را به حداقل می رساند.
AJAX یک تکنولوژی برای حذف Load شدنهای اضافه در مواقع نیاز است
مواردی که قبل از کار با ایجکس باید بدانید
HTML / XHTML
CSS
JavaScript / DOM
ایجکس چگونه کار میکند؟
کارکرد این این تکنولوژی طی چند مرحله و با ایجاد یک event آغاز میشود. برای مثال با کلیک روی یک دکمه یا لینک و یا فوکوس برای تایپ در فیلد نام کاربری در یک فرم ثبت نام میتواند به عنوان یک رویداد برای اجرای کدهای جاوا اسکریپت جهت ارسال دادههای بخش معینی به سرور تعیین شود. مرورگر به کمک جاوا اسکریپت یک شی از XMLHttpRequest یا XHR میسازد.
این شئ یک API یا Application Programming Interface است که میتواند با جاوا اسکریپت، انواع مرورگرها و زبانهای دیگر به منظور انتقال و مدیریت دادههای XML ارسالی و دریافتی از مرورگرها از طریق HTTP مورد استفاده قرار گیرد. به صورت خلاصه میتوان گفت که این شی برای ایجاد یک کانال ارتباطی مستقل بین مرورگر کاربر و سرور مورد استفاده قرار میگیرد.
ایجکس از طریق شی ساخته شده، دادهها و اطلاعات مورد نظر را به سرور ارسال میکند. در سرور درخواست، دریافت و پردازش میشود. سپس نتیجهی نهایی آن به مرورگر بازگردانده میشود. مرورگر پاسخ را به کمک جاوا اسکریپت دریافت و بر اساس نحوهی طراحی برنامهنویس وب، در بخشی که از طریق شناسهها برایش مشخص شده است نمایش میدهد.
کجا باید از ایجکس استفاده کنید
اعتبار سنجی فرمها
اگر اعتبار سنجی فقط پس از ارسال فرم انجام شود ممکن است برای کاربر مشکل ساز باشد. بنابراین میتوانید از AJAX در اعتبار سنجی فرم استفاده کنید.
رای دهی یا لایک کردن
اگر نیاز دارید کاربر به چیزی رأی دهد یا محصول شما را ارزیابی کند، نیازی به بارگذاری مجدد کل سایت نیست. عمل رتبهدهی و نمایش آن میتواند با استفاده از AJAX انجام شود.
لایت باکس
پاپآپها (Popup) بیشتر اوقات آزار دهنده هستند و مرورگرها اکثرا آنها را مسدود میکنند. بنابراین یک جایگزین خوب و جالب به جای پاپآپ در سایت، لایتباکسها هستند که یکی از مفیدترین موارد استفاده تکنولوژی ایجکس است.
لایتباکسها در حقیقت همان صفحاتی هستند که بعد از لود سایت روی آن نمایش داده میشوند. این باکسها معمولا به گونهای طراحی میشوند که محتویات صفحه در پشت آنها قابل نمایش باشد و به همین دلیل به آنها لایت باکس گفته میشود.
مرتب سازی یا فیلتر
بعضی اوقات میخواهید نتایج جستجو یا چیز دیگری را براساس تاریخ، محبوبیت، هزینه و غیره فیلتر کنید، در این حالت ایجکس یک تکنیک بسیار خوب است.
موارد خاص در پروژههای اختصاصی
همه کاربردهای تکنولوژی AJAX در موارد بالا نمیگنجد و ممکن است بر حسب نیاز در پروژههای خاص بهتر باشد برخی از آنها با ایجکس پیاده سازی شود.
چت و گفتگوها
چت کردن همیشه بصورت در لحظه پیاده سازی میشود. یعنی برای دریافت و ارسال پیام نباید صفحه مجددا بارگذاری شود. به همین دلیل اگر قصد دارید یک صفحه چت در وب سایت خود ایجاد کنید باید از AJAX استفاده کنید.
کپچا (Captcha)
برای ساختن captcha (یا بارگیری مجدد captcha) باید از ایجکس استفاده کنید. کپچا همان کد امنیتی است که برای تشخیص کاربران واقعی از رباتها در سایتها استفاده میشود.
اجزا تشکیل دهنده ایجکس
XmlHttpRequest:
به مرورگر امکان می دهد که تا با یک سرور Back-end ارتباط برقرار کند. این شی به مرورگر اجازه می دهد تا بدون نیاز به یکPostback از تمام صفحه وب، با سرور ارتباط برقرار نماید.
جاوا اسکریپت:
قابلیتهایی برای برقراری ارتباط با سرور Back-end را تامین می کند. جاوا اسکریپت باید نسخه ۱/۵ یا بالاتر ازآن باشد. با وجود آنکه جاوا اسکریپت بطور خاص الزامی نمی باشد، اما از نظر اینکه تنها محیط اسکریپ نویسی سمت کلاینت است که تمام مرورگرهای وب مدرن از آن پشتیبانی می کنند، مورد نیاز می باشد.
پشتیبانی از DHTML/DOM:
مرورگر باید از توانایی بروزرسانی دینامیک عناصر فرم پشتیبانی نماید و توانایی انجام اینکار با یک شیوه استاندارد از طریق پشتیبانی از(DOM(Document Object Model فراهم می گردد.
XMLیاJSON:
استفاده از XML توانایی برقراری ارتباط با سرور وب در یک مکانیزم استاندارد را فراهم می کند.
مزایای ایجکس
رندر شدن سریع تر صفحات و پشتیبانی از Update هر بخشی از صفحه وب
رابط های کاربری سریع و غنی از محتوا
کاهش مصرف منابع سرور
معایب AJAX
یکی از بزرگترین معایب آن ضربههایی است که به دلیل سئو پذیر نبودن آن به سایت وارد میشود. موتور جستجو به صفحاتی که با ایجکس فراخوانی میشوند دسترسی ندارد، همچنین AJAX به دلیل استفاده از جاوا اسکریپت حجم صفحات را افزایش میدهد و سرعت لود سایت را پایین میآورد.
در یک صفحه لود شده توسط AJAX امکان بوکمارک کردن وجود ندارد و همچنین نمیشود لینک محتوای آن را به اشتراک گذاشت. چرا که آدرس صفحه همواره ثابت است ولی محتویات آن بر اساس دادههای دریافتیاش متغیر هستند. بنابراین با بارگذاری مجدد صفحه تمام مراحل باید از ابتدا انجام شوند.
پست های توصیه شده
کلان داده
14 مهر, 1402
تحول دیجیتال
14 مهر, 1402
تجزیه و تحلیل داده ها
14 مهر, 1402