سفارش تبلیغ
صبا ویژن

سئو- استفاده از همه شگردها برای بالابردن ترافیک سایت

اشتباهات رایج در تعاملات آجاکس

یکی از نکاتی که در طراحی سایت باید مد نظر داشت نوع تعاملات آجاکس است
به طور خلاصه اینکه یادتان باشد که  آجاکس قرار نیست برای شما معجزه کند
شما وقتی به یک سایت می خواهید لاگین نمایید  ابتدا مشخصات کاربری در قالب یک فرم html به سرور ارسال میشو د و سرور پاسخ را در قالب یک صفحه HTML به شما می دهد
حال اگر همین کار را اگر بخواهیم بصورت آجاکس انجام دهیم تفاوت بزرگی که  در ارسالات سرور صورت می گیرد این است که به جای ارسال یک صفحه html که می تواند پرحجم هم باشد تنها یک کد ارسال می کنید مثلا تایید لاگین شما و شما بر اساس آن کاربر را مطلع می کنید (به عبارتی حتی ارسال پیام «شما با موفقیت به سیستم لاگین شدید» هم کار برازنده ای نیست و مثلا سرور می تواند کد های زیر رابه رایانه ارسال نماید
0 برای خطا در لاگین
00 خطا به دلیل نامعلوم
01 برای خطای کد امنیتی
02 برای خطاب یوزرنیم یا پسورد
03 برای خطا به جهت یوزرنیم یا پسورد و یا تعلیق کاربر
....
و 1 را اعلام موفقیت در لاگین بفرستید
11 موفقیت کامل
12 موفق در لاگین اما مشلکل تعلیق دیده میشود
....
همانطور که دیده میشود همه چیز در جهت کم کردن اعلانات و پاسخ ها هست
نکته مهم: اگر قرار باشد تعاملات آجاکس خود  را بصورت html انجام دهید و به صورت html منطقی نباشد مطمئن باشید خطای فاحشی در انجام این نوع از تعاملات آجاکس وجود دارد
مثالی بزنم
مثلا شما بخواهید ساعت سرور را بصورت همزمان   بر روی سیستم کاربر نمایش دهید
اینکه بیاید مثلا هر یک ثانیه از طریق setTimeout یا setInterval هر یک ثانیه ساعت را از سرور بپرسیدو نمایش دهید نه تنها کار درستی نیست بلکه قابل اجرا هم نیست و سیستم دچار پرش و خطای نمایش است می گویید نه امتحان کنید
اما هدف از این مثال
همانطور که گفته شد « اگر قرار باشد تعاملات آجاکس خود  را بصورت html انجام دهید و اینکار منطقی نباشد مطمئن باشید خطای فاحشی در انجام این نوع از تعاملات آجاکس وجود دارد» و این مثالی از این نکته بود
به عبارتی شما در نبود آجاکس هیچ وقت با صفحات اچ تی ام ال (و رفرش هر یک ثانیه)چنین کدی نمی نوشتید  پس اگر با آجاکس هم چنین کدی نوشتید اشتباه فاحش رخ داده
به عبارتی آجاکس فقط بهینه کننده کار است و نه معجزه
در مورد مثال فوق کافیست از ساعت داخلی جاوا اسکریپت یعنی setTimeout استفاده کنید و فقط هر چند دقیقه احتیاطا ساعت را میزان کنید
و اگر به هر دلیل نیاز به چنین کدی داشتید از ابزار دیگری به غیر از آجاکس استفاه کنید مثل  ماژول سوکت در نود یا socket.io