2016-07-02 13 views
6

मैं एक्सप्रेस 4.14 में स्थिति और संदेश कैसे भेज सकता हूं?एक्सप्रेस 4.14 - कस्टम संदेश के साथ 200 स्थिति कैसे भेजें?

के लिए: res.sendStatus (200);

मैं अपने ब्राउज़र पर ठीक मिलता है लेकिन मैं इसे इस तरह के रूप में एक कस्टम संदेश प्रदर्शित करना चाहते हैं: सफलता 1

res.sendStatus(200); 
res.send('Success 1'); 

त्रुटि:

Error: Can't set headers after they are sent.

मैं this करते हैं:

res.status(200).send(1); 

त्रुटि:

express deprecated res.send(status): Use res.sendStatus(status) instead

कोई विचार?

उत्तर

14

आप उपयोग कर सकते हैं:

res.status(200).send('some text'); 

अगर आप भेजने विधि करने के लिए संख्या पास करना चाहते हैं, यह स्ट्रिंग के लिए कनवर्ट पहले प्रतिवाद त्रुटि संदेश से बचने के लिए।

बहिष्करण सीधे भेजने के अंदर स्थिति भेजने के लिए है।

res.send(200) // <- is deprecated 

BTW - डिफ़ॉल्ट स्थिति 200 है, तो आप बस res.send ('सफलता 1') का उपयोग कर सकते हैं। .status उपयोग करें() केवल अन्य स्थिति कोड

के लिए
+0

आप 'मिल जाएगा पदावनत res.send (स्थिति) को व्यक्त: उपयोग res.sendStatus (स्थिति) धन्यवाद ऊपर मेरे संपादन देख instead'। – laukok

+0

कृपया मेरी प्रतिक्रिया पढ़ें, भेजने के लिए संख्या उत्तीर्ण होने पर यह केवल खुशी होगी() –

+0

आप सही हैं। यह मदद के लिए धन्यवाद 'सफलता 1' – laukok

3

आपको लगता है कि सटीक कोड का उपयोग कर रहे हैं तो आपको है कि पिछले त्रुटि प्राप्त नहीं हो जाना चाहिए:

res.status(200).send('Success 1') 

मेरा अनुमान है कि आप प्रयोग नहीं कर रहे है स्ट्रिंग "सफलता 1" लेकिन एक अंकीय चर या मूल्य के बजाय:

let value = 123; 
res.status(200).send(value); 

कि चेतावनी ट्रिगर करेगा। इसके बजाय, यह सुनिश्चित करें कि value stringified है:

let value = 123; 
res.status(200).send(String(value)); 
+0

आप सही हैं। यह 'सफलता 1' के बजाय int 1 था – laukok

संबंधित मुद्दे