मेरे पास निम्नलिखित Node.js कोड है:
var express = require('express');
var app = express.createServer(express.logger());
app.use(express.bodyParser());
app.post('/', function(request, response) {
response.write(request.body.user);
response.end();
});
अब अगर मैं कुछ इस तरह पोस्ट करता हूं:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
मुझे Someone
उम्मीद के मुताबिक मिलता है। अब, क्या होगा अगर मैं पूर्ण अनुरोध निकाय प्राप्त करना चाहता हूं? मैंने करने की कोशिश की, response.write(request.body)
लेकिन Node.js ने अपवाद को यह कहते हुए फेंक दिया कि " पहला तर्क एक स्ट्रिंग या बफर होना चाहिए " फिर एक अपवाद के साथ एक "अनंत लूप" में जाता है जो कहता है कि " हेडर सेट नहीं किए जा सकते हैं क्योंकि उन्हें भेजे जाने के बाद "। यह सच भी है अगर मैंने किया var reqBody = request.body;
और फिर लेखन response.write(reqBody)
।
यहाँ क्या समस्या है?
इसके अलावा, क्या मैं बिना उपयोग किए सिर्फ कच्चा अनुरोध प्राप्त कर सकता हूं express.bodyParser()
?
response.write(reqBody)
; जब मैंresponse.send(reqBody)
चीजों का उपयोग कर रहा हूं, ठीक काम कर रहा हूं ... और हां, मैं इसकेresponse.end
बाद उपयोग करता हूंresponse.write
।