كيفية التحقق في حالة وجود ملف في جافا سكريبت؟

StackOverflow https://stackoverflow.com/questions/197228

  •  10-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام مكتبة مسج لتحميل محتوى ملف HTML. شيء من هذا القبيل:

و$ ( "# الرئيسية"). تحميل ( "login.html")

وإذا كان الملف (في هذه الحالة "login.html ') غير موجود، أود أن الكشف عن ذلك حتى أتمكن من إعادة توجيه المستخدم إلى صفحة خطأ على سبيل المثال. أي أفكار كيف يمكن الكشف عن إذا كان الملف لتحميل موجودا أم لا؟

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

المحلول

ويمكنك استخدام الحدث ajaxComplete، whis يتيح لك الوصول إلى كائن XHR التي يمكنك الاستعلام عن حالة طلب منها مثلا الحالة 404 سيعني الملف غير موجود.

ومعلومات أكثر في مستندات http://docs.jquery.com/Ajax/ajaxComplete#callback

http://pastebin.me/48f32a74927bb

ومنها مثلا

$("#someDivId").ajaxComplete(function(request, settings){
    if (settings.status===404){
        //redirect here
    }
});

نصائح أخرى

و @حل PConroy ليعمل، لكنه يفعل الشيء نفسه للجميع فشل طلبات اياكس.

إذا كنت بحاجة إلى هذا على كل طلب على أساس - أي إذا فشل الطلب الأول فإنه يذهب إلى الصفحة X وإذا كان الثاني فشل يذهب إلى Y، فإنك تحتاج إلى القيام بذلك باستخدام مقبض خطأ في الدالة $ .ajax:

http://jsbin.com/iwume

و(تعديل: http://jsbin.com/iwume/edit )

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