मेरे पास एक लिंक है जो एक क्रिया करने के लिए अजाक्स पोस्ट भेजता है। यदि उपयोगकर्ता अभी तक साइन इन नहीं है, तो कार्रवाई विधि लॉगिन पृष्ठ पर 302 रीडायरेक्ट लौटाती है। यदि ऐसा होता है, तो मैं रीडायरेक्ट को पकड़ना चाहता हूं, ताकि मैं लॉगिन फॉर्म को लाइटबॉक्स में प्रदर्शित कर सकूं।एक ब्लॉग के बाद एक रीडायरेक्ट का पालन करने से jQuery AJAX को कैसे रोकें?
हालांकि, ऐसा लगता है कि jQuery नियंत्रण लौटने या कॉलबैक फ़ंक्शन को कॉल किए बिना रीडायरेक्ट का पालन करता है। नीचे दिए गए कोड में, 302 रीडायरेक्ट की अलर्ट कभी नहीं कहा जाता है, और जब तक डेटाफ़ाइल फ़ंक्शन कहा जाता है, तो डेटा लॉगिन पृष्ठ की सामग्री होती है।
मैं कैसे देख सकता हूं कि पृष्ठ ने 302 रीडायरेक्ट भेजा है, और शाखा को एक अलग कार्रवाई में भेजा है?
$.ajax(url,
{
data: postArguments,
type : "POST",
success: function (data) { alert(' success function'); },
statusCode:
{
302: function() { alert(' received redirect 302'); },
301: function() { alert(' received redirect 301'); }
},
dataFilter: function (data, type) { alert('got data ' + data); return data; }
});