2012-12-10 17 views
11

मैं रीडायरेक्ट समारोह आप एक "संदेश" पारित नहीं करता है कुछ परेशानीएक्सप्रेस में res.render() और res.redirect() का उचित उपयोग क्या है?

res.render('viewname', {msg: 'Message' }) 

और

res.redirect('route') 

के बीच अस्पष्टता का गूढ़ रहस्य आ रही है, लेकिन आप अभी भी कर सकते हैं, और प्रस्तुत करना फ़ंक्शन आपके दृश्य को प्रस्तुत करेगा, लेकिन यह आपके वेब ऐप का यूआरएल नहीं बदलेगा और आपके रूट के लिए आवश्यक फ़ंक्शन को ट्रिगर नहीं करेगा।

मेरी स्थिति यह है कि मेरे पास एक आमंत्रण फ़ॉर्म है, जिसमें एक क्रिया है जो मेरे यूआरएल को बदलती है, और उस मार्ग पर एक फ़ंक्शन ट्रिगर करती है जिसमें सफलता और विफलता कॉलबैक होती है, और मैं उपयोगकर्ताओं को रीडायरेक्ट करना चाहता हूं सफलता या विफलता का संकेत देने वाले संदेश के साथ डैशबोर्ड।

+2

उपयोगकर्ता (जिसके आधार पर अनुरोध से शुरू होती है) पर रीडायरेक्ट करेगा आपको चाहिए एक पोस्ट और एक जीईटी परिभाषित किया है। POST अनुरोध में आप अपने जीईटी पर रीडायरेक्ट करना चाहते हैं और जीईटी में आप प्रस्तुत करना चाहते हैं। – c0deNinja

उत्तर

18

संदेशों की चमकती शैली शैली का उपयोग करने के लिए कनेक्ट-फ्लैश को देखें।

res.render() यह करने के लिए पारित कर दिया डेटा के साथ दृश्य प्रस्तुत करना होगा, res.redirect() तुम क्या वर्णन कर रहे हैं से एक अन्य पेज पर

+1

बहुत बढ़िया - धन्यवाद। यह पहली बार एक्सप्रेस से कुछ नहीं हटा दिया गया है जो बहुत ही अच्छा था - डॉनो क्यों वे फ्लैश मेम और ईजेएस आंशिक – netpoetica

+1

की तरह सामान लेते रहते हैं, मुझे लगता है कि अगर कोई अन्य libary सुविधा प्रदान करता है, तो वे इसे हटा देते हैं। मैं ज्यादातर इस तर्क के साथ सहमत हूं, सिवाय इसके कि जब आप उन चीज़ों को हटाते हैं, तो यह निराशाजनक हो सकता है। मैं लेआउट/ब्लॉक/आंशिक वापस पाने के लिए ejs-locals का उपयोग करता हूं। – chovy

+1

क्या होगा यदि मैं एक ही समय में रीडायरेक्ट करना और डेटा भेजना चाहता हूं ??? – stylishCoder