PDA

View Full Version : آموزش: سوال در مورد آژاکس



amirepsilon
دوشنبه 22 آذر 1389, 16:32 عصر
سلام
دوستان فرض کنید من یک صفحه ای رو باز کردم و میخوام آمار رو به صورت (live) ببینم
حالا یک راه اینه که هر چند ثانیه تابع آژاکس رو فراخوانی کنیم که این آمار تازه بشن
ولی راه بهتر اینه که اگر احیانا تغییری توی آمار ایجاد شد، فقط یک بار آمار رفرش بشه
چون ممکنه تا 1 ساعت هیچ چیز تغییری نکنه، اگه ما بیایم هر چند ثانیه تابعی رو براخوانی کنیم cpu میگیره
راهی هست؟
ممنون

hossin.esm
دوشنبه 22 آذر 1389, 17:02 عصر
یک راه این هست که زمان تغییر آمار را در سرور ذخیره کنید و با هربا تغییر زمان update شود .
در سمت کلاینک با آژاکس زمان را با زمان تغییر در سرور مقایسه کنید و اگر تغییراتی بود کل آمار را رفرش کنید.

amirepsilon
سه شنبه 23 آذر 1389, 09:16 صبح
ولی همش آمار نیست
ممکنه بخواهیم وقتی کاربری روی لینکی کلیک میکند، این تابع اجرا شود!!!

hossin.esm
سه شنبه 23 آذر 1389, 09:33 صبح
میتونی چند تابع جدا از هم ایجاد کنید
یا با if دستور ها را جدا کنید

امیـرحسین
سه شنبه 23 آذر 1389, 22:49 عصر
راهی نیست.
حداکثر کاری که میشه کرد اینه که شرایطی رو فراهم کنید تا در زمان چک کردن حداقل پردازش انجام بشه. یعنی مثلا برای چک کردن کلی کد و کوئری اجرا نشه. مثلا حتی میشه توی شرایطی سرور یک فایل کوچیک بسازه و با تغییراتش این فایل رو آپدیت کنه. تابع آژاکس به این فایل وصل میشه و مثلا اگر محتوای این فایل 1 بود یعنی باید یک درخواست جدید برای گرفتن آپدیت ها اجرا کنه و اگر محتوای فایل خالی بود یا اصلا فایل وجود نداشت یعنی اتفاقی نیافته.