سؤال

أنا مهتم بمعرفة ما هو الحد الأدنى من كود Javascript عبر المتصفح (jQuery جيد أيضًا) الذي قد يكون ممكنًا للتحقق مما إذا كان الموقع الذي أرغب في إرسال طلبات AJAX عبر المجال لديه دعم له CORS.

أعلم أن jQuery لديه طريقة للتحقق مما إذا كان المتصفح يدعم ذلك.لكنني أود حقًا أن أكون قادرًا على التحقق مما إذا كان ذلك ممكنًا الموقع البعيد كما يدعم ذلك.

اعتقدت أنه كان عليّ فقط التحقق من رأس HTTP ولكن بالطبع XHR سيطرح استثناءً عند محاولة تقديم طلب عبر النطاق إلى موقع لا يدعمه على وجه التحديد.

ولكن هل هناك طريقة للتحقق من أن الاستثناء قد تم طرحه XMLHttpRequest كان بسبب عدم دعم الموقع CORS بدلا من شيء آخر يحدث بشكل خاطئ؟(ليس من الضروري أن يدعم XDomainRequest.)

على أي حال، لست متأكدًا من أفضل/أسرع طريقة عبر المتصفحات لجلب ملف HTTP HEAD باستخدام AJAX، والتي أفترض أنها الطريقة الخفيفة بدلاً من جلب الصفحة، وما إلى ذلك.

حالة الاستخدام:بمجرد أن أعرف ما إذا كان المتصفح وموفر AJAX يدعمان ذلك CORS أم لا، يمكنني اختيار ما إذا كنت تريد إرسال أكثر مميزة JSON/CORS الطلبات أو الرجوع إليها JSONP الطلبات عند الضرورة.

هل كانت مفيدة؟

المحلول

بعيد مثل ال تخصيص, ، إنه غير ممكن.

إذا كان هناك خطأ في الشبكة:في حالة أخطاء DNS ، فشل مفاوضات TLS ، أو أي نوع آخر من أخطاء الشبكة ، قم بتطبيق خطوات خطأ الشبكة.لا تطلب أي نوع من تفاعل المستخدم النهائي...

خلاف ذلك:قم بإجراء فحص مشاركة الموارد.في حالة فشل الإرجاع، قم بتطبيق خطوات خطأ الشبكة...

لا توجد طريقة خاصة لتحديد الحالة التي لا يُسمح فيها بـ CORS، نظرًا لأن خطوات خطأ الشبكة يتم تطبيقها في أي حال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top