ورود

View Full Version : سوال: مشکل فراخوانی خودکار توابعی که فراخوانی نشده اند



hmahdavi921
چهارشنبه 17 تیر 1394, 11:01 صبح
با سلام
دوستان من در صفحه خودم دو تا تگ اسکریپت دارم و در هر کدوم تعدادی تابع ، که در یکی از این توابع یک تابع ajax رو فراخوانی کردم .وقتی تابع دوم که دستور ajax داره اجرا میشه بدون اینکه ارجاعی به تابع ajax اولی وجود داشته باشه خود به خود تاابع اولی رو اجرا میکنه . آیا دلیلی برای این کار وجود داره ؟ منطق jquery در فراخوانی توابع چیه؟
لطفا راهنمایی بفرمائید.

H:Shojaei
چهارشنبه 17 تیر 1394, 17:51 عصر
منطق jquery نیست منطق مرورگر هست برای اجرای کدهای جاوااسکریپت که شما اینجا از کتابخانه jquery برای راحتی کار با javascript استفاده میکنید بگذریم...
کدهای سمت کاربر رو که همین کدهای جاوااسکریپت هستن مرورگر اجرا میکنه... و شیوه اون هم به این صورته که نمیاد مثل سمت سرور صبر کنه به یک خط کد که رسید طول کشید همونجا صبر کنه تا اون کامل اجرا بشه و بره خط بعد..
به نوعی پردازش ها موازی انجام میشه یعنی اگر همزمان 2 تابع توی فرم لود صدا زده شده باشن که یکیش یک درخواست ایجکس داشته باشه هردو اجرا میشن ولی اونی که درخواست ایجکس داره بیشتر طول میکشه و اینجا ربطی هم به این که اول کدوم یکی کدهاش بیاد نداره...
معمولا سر همین موضوع هم مشکلاتی پیش میاد مثل این که مثلا میخوایم یک تابع ایجکس که اجرا شد بعد یک تابع دیگه اجرا بشه خود ایجکس جیکوئری این مشکلات رو برطرف کرده و شما میتونید توی بخش success از تابع ajax اون تابعی که میخواید بعد از تکمیل شدن درخواست ایجکس اجرا بشه رو صدا بزنید...

hmahdavi921
چهارشنبه 17 تیر 1394, 23:09 عصر
یک جواب کامل و منطقی .مرسی