Anonim

بشكل افتراضي ، يتم تعيين طلب $ .ajax في jQuery إلى غير متزامن. اسم المتغير غير متزامن ويتم تعيين القيمة على صواب. لقد أعطاني هذا بعض الالتباس عند معرفة الأمر أولاً ، لذا دعنا نتجاوزه.

غير متزامن مقابل متزامن

الإعداد الافتراضي في مسج. في تجربتي ، يجب أن تفعل غير متزامن دائما تقريبا الخدعة. هناك أيضًا حالتان على وجه الخصوص لا تسمحان حتى بإجراء مكالمة متزامنة.

  • طلبات عبر المجال. إذا كنت أقوم بطلب ajax من techjunkie.com إلى ملف على whereever.com (مجال مختلف تمامًا) ، فسيكون ذلك طلبًا عبر النطاق.
  • jsonp - إذا كنت تبحث لاسترداد نطاق بيانات JSON عبر النطاق ، فإن JSONP هو ما تبحث عنه.

عند استخدام متزامن

يجب أن تكون على دراية أولاً بأن ضبط المزامنة على false يؤدي إلى توقف المتصفح. انها قفله ، تماما. ليس فقط صفحتك ، ولكن كل صفحة قد يفتحها المستخدم. على سبيل المثال ، إذا تباطأ الخادم الخاص بك في منتصف الطلب ، فقد قمت بتعطيل المستعرض الخاص بهم بشكل فعال حتى تتاح لخادمك فرصة اللحاق بالبيانات المطلوبة ونقلها.

بدلاً من المخاطرة به من خلال مكالمة متزامنة ، ما عليك سوى تحديد وظيفة رد الاتصال عند النجاح أو الخطأ. يمكنك الوصول إلى نقطة النهاية نفسها دون تدمير تجربة التصفح للمستخدم. باختصار ، لا تستخدم مكالمة متزامنة. انها سيئة للتطبيق الخاص بك و UX.

الفرق بين متزامن وغير متزامن في اياكس