PDA

View Full Version : تعریف تابع جدید در جاوا اسکریپت



khazon
چهارشنبه 08 اسفند 1386, 17:01 عصر
سلام دوستان...
متن تابعی توسط جاوا اسکریپت نوشتم که یک درخواست رو به سرور میفرسته... و تا جواب بخواد برگرده و بررسی بشه بسته به سرعت ممکنه 1 تا 2 ثانیه طول بکشه...
تو این بین که درخواست رو با کلیک روی لینکی ارسال کردمف وقتی توسط لینک دیگه درخواستی رو با همین تابع میفرستم، درخواست قبلی رو بی خیال و درخواست جدید رو ارسال میکنه...
میخواستم ببینم راهی نیست که هر بار تابع رو با new صدا بزنم، یعنی وقتی میخواد خوانده شه ، new ازش بگیرم که درخواست بعدی روی این درخواست نیفته...

امید امرایی
چهارشنبه 08 اسفند 1386, 21:54 عصر
سلام

لطف کنید سورس رو بزارید و منظوتون رو هم واضح تر بیگید

khazon
پنج شنبه 09 اسفند 1386, 08:21 صبح
ببینید اینکه چه سورسی هست زیاد اهمیتی نداره...
برا مثال تصور کنید تابع من:


Function test(){
....
......
.......
}

و حال دو لینک دارم که در خاصیت Onclick اونها، این تابع صدا زده میشه... مدت زمانی که طول میکشه تا با کلیک بر روی لینک اول کار خاصی رو انجام بده اگه 2 ثایه باشه، در حین این دو ثانیه ، اگه رو لینک دوم که همین تابع رو صدا میزد، کلیک کنم، تابع اجرای اول خودش رو کنسل و درخواست Onclick لینک دوم رو اجرا میکنه...
من میخوام هر لینک تابع رو جداگون صدا بزنه... یعنی اگه رو 10 لینک کلیک کردم، هر 10 لینک کار خودشون رو انجام بدن و خللی در کار قبلی به وجود نیاد..
تابع اصلی منف یک موتور آی جکس هست که درخواستی رو به صفحه ای ارسال و نتیجه رو پردازش میکنه...
ممنون میشم راهنمائی کنید..

امید امرایی
پنج شنبه 09 اسفند 1386, 11:12 صبح
در حالت عادی هیچ تابعی 2 ثانیه زمان نمی خواد و همواره فراخوانی یک تابع با تعداد بسیار بالا میسره .

اما در مورد آجاکس این امر کمی فرق می کنه که به نوع برنامه نویسی شما یعنی ارسال XHR و گرفتن پاسخ بستگی داره . واسه همین بود که گفتم سورس رو بزارید .

نمونه همین کاری که شما می خواید انجام بدین رو من در یک سایت انجام دادم که می تونید ببینید اگه همون چیزی بود که می خواید می شه تابع شما رو اصلاح کرد
http://fifaonline.ir/beta/league/

در این صفحه اگه پشت سر هم روی تمام منو ها کلیک کنید می بینید که عمل کرد یکی باعث مختل شدن دیگیری نمی شه .

موفق باشید

khazon
جمعه 10 اسفند 1386, 04:56 صبح
دوست عزیز، فایل رو چک میکنم و جواب میدم...
در فایل شما، قسمتی دیدم که برام سوال جدید مطرح شد...
من الآن هر مقدار از صفحه رو که میخوام با QueryString میفرستم سمت سرور، نمیشه درخواست رو طوری ارسال کردم که در صفحه سمت سرورم که درخواست رو دریافت میکنه، بشه با استفاده از

request.form.get(esme element)
مقدار رو دریافت کرد...؟