जावास्क्रिप्ट फ़ेच एपीआई का उपयोग करके लॉगिन करने के बाद उपयोगकर्ता को दूसरे पेज पर रीडायरेक्ट कैसे करें?
प्रदान किए गए कोड में, जावास्क्रिप्ट फ़ेच() विधि Google से प्राप्त टोकन के साथ बैकएंड एंडपॉइंट पर POST अनुरोध भेजने के लिए उपयोग किया जाता है। बैकएंड में टोकन के सत्यापन पर, एक RedirectResponse 303 के स्टेटस कोड के साथ लौटाया जाता है। हालाँकि, ब्राउज़र में रीडायरेक्ट नहीं होता है।
विकल्प 1: RedirectResponse लौटाना
fetch() फ़ंक्शन डिफ़ॉल्ट रूप से रीडायरेक्ट प्रतिक्रियाओं का अनुसरण करता है। इसलिए, आप उपयोगकर्ता को मैन्युअल रूप से रीडायरेक्ट करने के लिए फ़ेच() प्रतिक्रिया में रिस्पॉन्स.रीडायरेक्टेड और रिस्पांस.यूआरएल गुणों का उपयोग कर सकते हैं।
कार्य उदाहरण:
fetch('http://localhost:8000/login', {
method: 'POST',
headers: { ... },
body: { ... },
redirect: 'follow'
})
.then(res => {
if (res.redirected) {
window.location.href = res.url;
} else {
// Handle non-redirect responses
}
})
विकल्प 2: रीडायरेक्ट यूआरएल के साथ JSON प्रतिक्रिया लौटाना
वैकल्पिक रूप से, बैकएंड रीडायरेक्ट यूआरएल युक्त JSON प्रतिक्रिया लौटा सकता है। फ्रंटएंड पर, आप प्रतिक्रिया में "यूआरएल" कुंजी की जांच कर सकते हैं और तदनुसार उपयोगकर्ता को रीडायरेक्ट कर सकते हैं।
कार्य उदाहरण:
fetch('http://localhost:8000/login', {
method: 'POST',
headers: { ... },
body: { ... },
})
.then(res => res.json())
.then(data => {
if (data.url) {
window.location.href = data.url;
} else {
// Handle non-redirect responses
}
})
विकल्प 3: HTML का उपयोग करना
यदि Fetch() का उपयोग करना आवश्यक नहीं है, तो आप सबमिट बटन के साथ पारंपरिक HTML फॉर्म का उपयोग कर सकते हैं। जब फॉर्म सबमिट किया जाता है, तो सर्वर से RedirectResponse लौटाए जाने पर ब्राउज़र स्वचालित रूप से रीडायरेक्ट को संभाल लेगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3