PDA

View Full Version : درمورد: AJAX را بدون AJAX تجربه کنید!



once4ever
یک شنبه 13 آبان 1386, 11:12 صبح
میشه لطفا توضیح بدید این خطوط چه کاری انجام میدهند؟

string CR_REF = ClientScript.GetCallbackEventReference(this, "myValue", "ReceiveDataFromServer", "validateF");

if (!ClientScript.IsClientScriptBlockRegistered("DoServerAction"))
{
string CLIENT_SCRIPT = @" function DoServerAction(myValue,validateF) { " + CR_REF + "}";
ClientScript.RegisterClientScriptBlock(this.GetTyp e(), "DoServerAction", CLIENT_SCRIPT, true);
}

ehsan2007
یک شنبه 13 آبان 1386, 15:16 عصر
سلام خود آقای راد توضیح دادن به تاپیکی که کدهارو گذاشتن برو و توضیحاتو مشاهده کن

once4ever
یک شنبه 13 آبان 1386, 23:04 عصر
توضیحات کامل و خوب بودند واقعا ممنون آقای راد :)

تابع
public string GetCallbackResult() محدودیتی برای برگردوندن استرینگ داره؟
یعنی 10000 کاراکتر (بطور مثال)

Behrouz_Rad
دوشنبه 14 آبان 1386, 20:07 عصر
خیر محدودیتی نداره...

once4ever
چهارشنبه 16 آبان 1386, 23:18 عصر
آیا میشه اطلاعات رو قسمت قسمت به کلاینت برگردوند؟

public string GetCallbackResult()

Behrouz_Rad
پنج شنبه 17 آبان 1386, 07:28 صبح
منظورت از "قسمت قسمت" چیه؟

once4ever
پنج شنبه 17 آبان 1386, 09:34 صبح
یعنی در جواب یک درخواست از کلاینت از 100 رکورد ده تا ده تا به کلاینت بفرسته و کلاینت نمایش بده.
یعنی فاصله زمانی درخواست تا اولین نمایش نتیجه کم بشه
(من با php اینکارو انجام میدم و یادم هست برای asp هم پیدا کرده بودم)
امیدوارم متوجه شده باشی

Behrouz_Rad
پنج شنبه 17 آبان 1386, 10:12 صبح
آره میشه...
تابع setTimeout میتونه این کار رو انجام بده به شرطی که پارامتری ارسال کنی که مشخص کننده ی بازه ی مورد نظرت از رکوردهاست.

موفق باشید.

once4ever
پنج شنبه 17 آبان 1386, 11:06 صبح
این setTimeout زمان ارسال پاسخ رو مشخص میکنه؟

Behrouz_Rad
پنج شنبه 17 آبان 1386, 13:57 عصر
خیر... زمان دریافت پاسخ رو مشخص می کنه.
تا زمانی که شما نخوای، سرور چیزی برای شما ارسال نمی کنه.

once4ever
پنج شنبه 17 آبان 1386, 16:01 عصر
تا زمانی که شما نخوای، سرور چیزی برای شما ارسال نمی کنه.اما دقیقا من اینو نمیخوام.
چیزی که من میخوام میتونه تحت عنوان time limit باشه
که برای ساختن چت آنلاین بکار میره (بدون استفاده از تایمر)
یعنی ارتباطکلاینت با سرور قطع نشه

Behrouz_Rad
پنج شنبه 17 آبان 1386, 16:11 عصر
در وب اصولا تا کلاینت چیزی رو درخواست نکنه، سرور هیچگونه واکنشی نمیتونه انجام بده.
برنامه های چت نیز از همین قانون پیروی می کنند.
کلاینت درخواست رو ارسال می کنه - این درخواست میتونه درخواست لیست کاربران آنلاین یا پیغام های رد و بدل شده در اتاق گفتگو یا هر چیز دیگه ای باشه - و سرور داده های درخواستی رو به کلاینت پاس میده.

موفق باشید.

hamed_bostan
پنج شنبه 17 آبان 1386, 18:00 عصر
برنامه های چت نیز از همین قانون پیروی می کنند.

خوب یعنی وقتی من پیغامی واسه کاربر میفرستم این سرور نیست که پیغام رو واسه طرفم میفرسته بلکه برنامه روی کلاینت کاربر هی داره چک میکنه ببینه چیزی واسه اش اومده یا نه؟ اینطوریه یعنی؟؟؟

Behrouz_Rad
جمعه 18 آبان 1386, 19:40 عصر
آره اینطوریه.

once4ever
جمعه 18 آبان 1386, 20:17 عصر
شما سیستم چت جی میل نگاه کنید (و چت یاهو ایمیل جدید)
این سیستمها با چتهای قدیمی فرق میکنند که هر چند ثانیه از طرف کلاینت یک request به سرور ارسال میشه که آیا پیغام جدید هست یا نه.
در این سیستمها بعد از یک ریکوئست دیگه با یک ریسپانس دیگه کانکشن بین کلاینت و سرور قطع نمیشه و این ارتباط لایو باعث میشه که سرور به محض تغییر در پیغامها اونو به کلاینت بفرسته
(خیلی وقت پیش خیلی این ارتباط برام جالب بود و هنوزم هست :) )

minaalamshahi
یک شنبه 02 مرداد 1390, 10:27 صبح
با سلام
در استفاده از این تکنولوژی چطور می تونم وضعیت ارسال اطلاعات رو چک کنم
که اگر ارسال اطلاعات در این صفحه تمام شده پیغام خاصی رو نشون بدم
توجه به اینکه حتما احتیاج دارم وضعیت صفحه چک بشه
و نمی خوام در ابتدای شروع تابع جاوا اسکریپت پیغامم رو روی یک div بذارم