التخلص من طلبات XHR المتزامنة

تنبيه تم تغيير مواصفات XMLHttpRequest2 مؤخرًا لحظر إرسال طلب متزامن عند ضبط قيمة XMLHttpRequest.responseType. تكمن الفكرة وراء هذا التغيير في المساعدة على الحدّ من استخدام طلبات xhr المتزامنة كلما أمكن ذلك.

على سبيل المثال، ستؤدي التعليمة البرمجية التالية الآن إلى عرض INVALID_ACCESS_ERR في إصدارات قناة المطوّرين من Chrome وFirefox:

var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();

راجِع خطأ WebKit وخطأ Mozilla.

إنّ طلبات XHR المتزامنة غير جيدة لعدة أسباب، ولكنّ مشاركة المدونة على MSDN بعنوان سبب استخدام XMLHttpRequest بشكل غير متزامن تقدّم شرحًا رائعًا للمشاكل.

هذا تغيير رائع بشكل عام للويب، ولكن يمكن أن يؤدي إلى إيقاف بعض التطبيقات الحالية التي كانت تعتمد على السلوك المتزامن. يُرجى مراجعة رمز XHR وتعديله في أقرب وقت ممكن لاستخدام الطلبات غير المتزامنة.