मैं एक नया उपयोगकर्ता बना रहा हूं और इसे अपने डीबी में सहेज रहा हूं जैसा कि नीचे दिखाया गया है:

const user= new User({
    username: userId,
    password: pass,
    nameOfUser: user_name,
    emailOfUser: user_email
);
user.save();

res.redirect("/redirectpage");
setTimeout(function(){
    res.redirect("/");
},5000);

उपयोगकर्ता को सहेजने के बाद मैं उलटी गिनती रीडायरेक्ट पेज बनाने की कोशिश कर रहा हूं। ऐसा कुछ दिखता है:

enter image description here

इसके बाद, काउंटर (5 सेकंड का) 0 पर पहुंच जाता है, मैं उपयोगकर्ता को लॉगिन पेज पर रीडायरेक्ट करना चाहता हूं जो कि होम रूट है। मैंने इसे सेटटाइमआउट के माध्यम से कार्यान्वित किया। लेकिन दुर्भाग्य से मेरा ऐप निम्नलिखित त्रुटियों को देते हुए क्रैश हो जाता है: (** नोट: अगर मैं res.redirect("/redirectpage") पर टिप्पणी करता हूं, तो कोई त्रुटि नहीं दिखाई जाती है)

enter image description here

0
Aditya 25 पद 2021, 08:05
एक बार जब आप उपयोगकर्ता को एक्सप्रेस से परिणाम भेजते हैं, तो आप कुछ और नहीं भेज सकते।
 – 
code
25 पद 2021, 08:19

1 उत्तर

सबसे बढ़िया उत्तर

यह कोड उपयोगकर्ता को दो बार पुनर्निर्देशित करने का प्रयास करता है। पहले /redirectpage और फिर / को। आप ऐसा नहीं कर सकते, क्योंकि res.redirect() को कॉल करने से पहली बार अनुरोध पूरा हो जाता है, इसलिए आप दूसरे रीडायरेक्ट जैसा कोई और डेटा नहीं भेज सकते। आप रीडायरेक्ट कोड को क्लाइंट साइड जावास्क्रिप्ट पर ले जाकर इसे ठीक कर सकते हैं। यह कोड काम करना चाहिए:

setTimeout(function() {
    window.location.replace("[full redirect url]");
}, 5000);

क्लाइंट-साइड से रीडायरेक्ट करने के बारे में अधिक जानने के लिए यह उत्तर पढ़ें।

1
User81646 25 पद 2021, 08:13