में 401 (अनधिकृत) AJAX त्रुटि से छुटकारा पाएं मैं jQuery.ajax कॉल का उपयोग कर जावास्क्रिप्ट के माध्यम से एपीआई को कॉल कर रहा हूं। एपीआई 401 के साथ प्रतिक्रिया देता है यदि उपयोगकर्ता प्रमाणीकृत नहीं है और मैं केवल इस कॉल के लिए इस त्रुटि को अनदेखा करना चाहता हूं।ब्राउज़र कंसोल
मैंने jQuery विकल्पों में वर्णित सभी कॉलबैक विकल्पों का प्रयास किया है लेकिन त्रुटि अभी भी ब्राउज़र कंसोल (फ़ायरफ़ॉक्स और क्रोम दोनों में) में पॉप आउट हो गई है।
$.ajax({
type: 'GET',
url: '/url-with-auth',
dataType: 'json',
statusCode: {
401: function (error) {
// simply ignore this error
console.log(error);
}
},
complete: logall,
error: function() {
// simply ignore this error
console.log(error);
},
async: false
}).fail(function() {
// ignore the error and do nothing else
console.log("$.get failed!");
});
यह भी के बाद से ब्राउज़र है कि सोचता है कि एक मचान मशीन जो .htaccess फ़ाइल द्वारा सुरक्षित है पर फिर से उपयोगकर्ता क्रेडेंशियल अनुरोध के पक्ष प्रभाव है:
यहाँ एक नमूना कोड जो त्रुटि ट्रिगर है उपयोगकर्ता प्रमाणीकृत नहीं है, इसलिए निम्नलिखित अनुरोधों में उपयोगकर्ता को अपने http प्रमाण-पत्रों को पुन: दर्ज करने की आवश्यकता है।
क्या इस त्रुटि को पूरी तरह से अनदेखा करने का कोई तरीका है?
संपादित
वर्तमान में मैं जो पूरी तरह से आवेदन पक्ष कैश किया गया है एक HTML टेम्पलेट है और मैं प्रदर्शन कारणों से इस व्यवहार रखना चाहते हैं। लेआउट में परिवर्तन करने वाला एकमात्र हिस्सा वर्तमान उपयोगकर्ता के लिए लॉगिन सूचनाएं है, इसलिए मैं उपयोगकर्ताओं में लॉग इन नहीं होने के लिए डिफ़ॉल्ट मार्कअप के साथ (कैश किए गए) पृष्ठ को प्रस्तुत कर रहा हूं और फिर jQuery का उपयोग करके मैं मार्कअप के प्रासंगिक तत्वों को प्रतिस्थापित करता हूं लॉगिन अजाक्स कॉल द्वारा लौटाई गई जानकारी। तो यदि उपयोगकर्ता लॉग नहीं है और AJAX एंडपॉइंट वापसी 401 मुझे कुछ भी चाहिए, तो मार्कअप वही रहना चाहिए।
सब कुछ इस समय काम कर रहा है, केवल बदसूरत बात यह है कि मेरे पास कंसोल में 401 जावास्क्रिप्ट त्रुटि है और मैं इसे से छुटकारा पाना चाहता हूं।
यहाँ संदेश का स्क्रीनशॉट मैं के बारे में बात कर रहा हूँ है:
आप पर http://stackoverflow.com/questions/10267683/jquery-ajax-handle-401-unauthorized –
@RachelGallen पहले से ही ऐसा ही किया और वहाँ सभी सुझाव की कोशिश की लग सकता है, हैंडलर निष्पादित किया गया है, लेकिन त्रुटि अभी भी दिखाया गया है।मैं इसे पूरी तरह से टालना चाहता हूं क्योंकि इस मामले में स्क्रिप्ट का उद्देश्य केवल डोम तत्व जोड़ना है जब उपयोगकर्ता लॉग होता है और यदि वह नहीं है तो मैं केवल कॉल को अनदेखा करना चाहता हूं। – Fabio
हम्म ओह ठीक है, आशा है कि आपको जल्द ही एक उत्तर मिल जाएगा। –