بشكل افتراضي ، يتم تعيين طلب $ .ajax في jQuery إلى غير متزامن. اسم المتغير غير متزامن ويتم تعيين القيمة على صواب. لقد أعطاني هذا بعض الالتباس عند معرفة الأمر أولاً ، لذا دعنا نتجاوزه.
غير متزامن مقابل متزامن
الإعداد الافتراضي في مسج. في تجربتي ، يجب أن تفعل غير متزامن دائما تقريبا الخدعة. هناك أيضًا حالتان على وجه الخصوص لا تسمحان حتى بإجراء مكالمة متزامنة.
- طلبات عبر المجال. إذا كنت أقوم بطلب ajax من techjunkie.com إلى ملف على whereever.com (مجال مختلف تمامًا) ، فسيكون ذلك طلبًا عبر النطاق.
- jsonp - إذا كنت تبحث لاسترداد نطاق بيانات JSON عبر النطاق ، فإن JSONP هو ما تبحث عنه.
عند استخدام متزامن
يجب أن تكون على دراية أولاً بأن ضبط المزامنة على false يؤدي إلى توقف المتصفح. انها قفله ، تماما. ليس فقط صفحتك ، ولكن كل صفحة قد يفتحها المستخدم. على سبيل المثال ، إذا تباطأ الخادم الخاص بك في منتصف الطلب ، فقد قمت بتعطيل المستعرض الخاص بهم بشكل فعال حتى تتاح لخادمك فرصة اللحاق بالبيانات المطلوبة ونقلها.
بدلاً من المخاطرة به من خلال مكالمة متزامنة ، ما عليك سوى تحديد وظيفة رد الاتصال عند النجاح أو الخطأ. يمكنك الوصول إلى نقطة النهاية نفسها دون تدمير تجربة التصفح للمستخدم. باختصار ، لا تستخدم مكالمة متزامنة. انها سيئة للتطبيق الخاص بك و UX.