I have a client that is sending data chunks to my node.js server.
I want to listen on the “end” event and retrieve the accumulated request body.
Here is my code:
app.post('/users', function(req, res){
req.on('end', function() { // WHY IS THIS NEVER FIRED?
console.log(req.body);
res.send({
"status": "ok"
});
});
});
The problem is that the ‘end’ event is never fired.
Anyone knows why?
Also, if I do in this way, will the req.body be the accumulated body of all the body chunks?
Basically http POST only fires when you POST to the server. I can’t be certain, but I’m assuming you are just attempting to visit
server:port/usersin your web browser and fail to get a response. By default the web browser isGETing the server. To fix this you have two options.1. If you change
app.posttoapp.getthe event will correctly fire when you visit/users2. Or you can fire the post function using a form. For example the following code will display a form if you visit the page using
GET. When you submit the form it will firePOST.