2015-05-30 6 views
6

मैं response.send() के माध्यम से एक पूर्णांक भेजने के लिए कोशिश कर रहा हूँ, लेकिन मैं इस त्रुटिनोड एक्सप्रेस त्रुटि: अमान्य हो चुके res.send (स्थिति) को व्यक्त: उपयोग res.sendStatus (स्थिति) के बजाय

पदावनत रेस व्यक्त जा रहे हैं। भेजने के लिए (स्थिति): उपयोग res.sendStatus (स्थिति) के बजाय

मैं एक स्थिति नहीं भेज रहा हूँ, मेरे कोड

app.get('/runSyncTest' , function(request, response){ 

var nodes = request.query.nodes; 
var edges = request.query.edges; 
if (edges == ""){ 
    edges = [] 
} 

userStory.userStory(nodes,edges); 
connection.query('SELECT MAX(id) as id FROM report ', function(err,results, fields) { 
       idTest = results[0].id 
       response.send (idTest) 
}); 

}); 
+1

सिर्फ चेतावनी से बचने के लिए, कैसे 'response.send तरह JSON लौटने ({अधिकतम: idTest}) के बारे में, [ठीक मैनुअल' ' –

+1

res.send()' के बारे में ] (http://expressjs.com/4x/api.html#res.send) कहता है: _ "बॉडी पैरामीटर एक बफर ऑब्जेक्ट, स्ट्रिंग, ऑब्जेक्ट, या ऐरे हो सकता है।" _। तो पूर्णांक सीधे समर्थित नहीं हैं और पहले उन प्रकारों में से किसी एक में परिवर्तित होने की आवश्यकता है। – robertklep

+0

जेएसओएन चाल ने आपको धन्यवाद दिया है @ हरिसहसन –

उत्तर

14

आप इस कोशिश कर सकते है:

res.status(200).send((results[0].id).toString()); 

दोस्तों ठीक कह रहे हैं - यह संख्या अनुमति नहीं है। Prooflink: http://expressjs.com/4x/api.html#res.send

4

The manual states (टिप्पणियों को पहले से ही में उल्लेख किया):

शरीर पैरामीटर एक बफर वस्तु, एक स्ट्रिंग, एक वस्तु, या किसी सरणी हो सकता है।

तो पूर्णांक सीधे समर्थित नहीं हैं और पहले उन प्रकारों में से किसी एक में परिवर्तित होने की आवश्यकता है। उदाहरण के लिए:

response.send(String(idTest)); 
2

उपयोग इस तरह,

res.status(404).send(Page Not found'); 
1

इसका कारण यह है कि आप res.send में अंकीय मान भेज रहे हैं।

आप एक जेसन ऑब्जेक्ट भेज सकते हैं या स्ट्रिंग में कनवर्ट कर सकते हैं।

0

जब तक आप स्ट्रिंग या ऑब्जेक्ट/ऐरे डेटा नहीं भेज रहे हैं, आपको एक त्रुटि मिलती है। समाधान स्ट्रिंग के लिए अपने डेटा को परिवर्तित:

app.get('/runSyncTest', function(req, res) { 
    var number = 5000; 
    res.send((number).toString()); //Number is converted with toString() 
}); 
संबंधित मुद्दे