2

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.

1 Answer 1

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

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

  3. 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

Sign up to request clarification or add additional context in comments.

2 Comments

I am not clear with what you tried to convey! 1.I think you need req.url rather than req.url.
Glad you got it working, I made a mistake.. it was supposed to be req._url... I will edit the answer :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.