TIL: Easy Way of Passing Data Between ExpressJS Paths
Learned a neat little trick this morning for passing data between two different paths when using express in a node project. This came up when I was trying to figure out how I’d be able to return data that was retrieved during a form post and move back into the the main index page after redirect.
My first instict was to use the redirect method, but after reading up on it I found that all it can really do is redirect. There wasn’t really a way to redirect WITH some sort of data, other than lumping it into an ugly query string which I wasn’t going to do.
And then I found a suggestion to use the
next parameter. While this probably isn’t the way it was intended to be used, it sure does make passing the values very simple.
Lets take a look at this very simple express server:
The key here is with the post to the
/test path. In this case, we set it up with two different function calls: the initial function for the
/test path, and the next endpoint to hit when calling
In this case, if a GET request is sent directly to
Not Found response is returned. However, if the POST is sent to
req.dataProcessed value gets set and then passed on to the home page function.
req.dataProcessed is then available for use within that function, which causes the value of
req.dataProcessed to be returned.
Planning on implementing this method when returning back generated user tokens back to the client.