Using 'querystring.parse' built-in module's method in Node.JS to read/parse parameters

node.js, query-string, querystringparameter, request.querystring

Solution

I think you need req.url rather than req._url.

req.url is a string, if you want a URI instance use require('url').parse(req.url)

So, you should finally have:

`var ParamsWithValue = querystring.parse(require('url').parse(req.url).query);`

Edit: I corrected a typo in point 1, the last req.url -> req._url

Problem

Scenario: Consider the following code: ``` var querystring = require('querystring'); var ParamsWithValue = querystring.parse(req._url.query); ``` Then I am able to read any query string's value. E.g: If requested string is http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324 I can get the values of query string with codes `ParamsWithValue.UID` & `ParamsWithValue.FacebookID` respectively. Issue: I am able to get the values of any number of parameters passed in the same way described above. But for second time onwards I am getting the following error in response on browser. Error: ``` {"code":"InternalError","message":"Cannot read property 'query' of undefined"} ``` Question: What is wrong in the approach to read the query string from the URL. Note: I don't want to use any frameworks to parse it. I am trying to depend on built-in modules only. Update: It responds correctly when the value of any of the parameter is changed. But if the same values requested again from even different browser it throws same error.

Original source