سؤال

أقدم طلب JSONP باستخدام Mootools:

var username = 'hsz';
var password = 'pass';
var req = new Request.JSONP({
    url: 'http://api.blip.pl/profile.json',
    method: 'get',
    headers: {
        'Authorization' : 'Basic ' + Base64.encode(username + ':' + password),
        'Accept'        : 'application/json',
        'Content-Type'  : 'application/json',
        'X-blip-api'    : '0.02'
    },
    onSuccess: function(res){ alert('success'); },
    onFailure: function(res){ alert('failure'); }
}).send();

مع تسجيل الدخول الصحيح وكلمة المرور، يعمل بشكل جيد (تنبيهني success).
عندما أغير password إلى قيمة غير صالحة فلا تفعل أي شيء.
أنا لا أعرف لماذا يتصرف بشدة.
نفس الشيء عندما أستخدم Request.JSON()وبعد أيه أفكار ؟

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

المحلول

قد تكون الخدمة لا تستجيب بأي شيء مصل اللبن الذي لا يمكنه مصادقة / تفويض الطلب فقط لمغادرة أي هاكر إذا كانت كلمة المرور أو معرف المستخدم أو كلاهما مخطئ!

نصائح أخرى

اعتقد ان onfailure. هو ببساطة الحدث الذي يطلق عليه فئة الطلب عندما يفشل في طلب XHR. إذا فشلت في المصادقة، فلن يعني أنه فشل في إطلاق مثيل الطلب، فقط الفشل في الحصول على النتائج المتوقعة.

في 1.2.4.x، طلب. JSonp يدعم السجل الاختياري (سجل فئة Wrapper Class) - إضافة السجل: صحيح إلى خيارات الفصل ومعرفة الأحداث التي تحاول رفعها في Firebug.

أيضا، يمكنك تغيير المعالج إلى oncomplete. وإعادة ربط JSON إلى تحديد مدى نجاحه على البيانات (على عكس onsuccess.)

في فئة JSONP هناك ملكية مهلة. بشكل افتراضي يتم تعيينه إلى 0 ولم يتم تشغيل OnFailure.

أنا وضعت مهلة: 1 والآن يتم تشغيل onfailure.

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