NodeJS - urlObject.query Property
The NodeJS urlObject.query property of urlObject specifies the query string portion from the URL without the leading ASCII question mark (?), or an object returned by the parse() method of the querystring module.
For example, consider this URL 'https://user:pass@site.com:8/pa/th?q=val#hash'.
?q=val is the query string portion, but the query property will exclude the (?) in the returned value.
The returned value of the query property is depending upon the parseQueryString argument passed to the url.parse() method.
If the argument passed is true to the parse() method, then the returned value of urlObject.query property will be {query : string} object.
If the argument passed is false to the parse() method, then the returned value of urlObject.query property will be query=string.
Decoding of the query string will be done as follows
If the returned value of urlObject.query property is a string, no decoding of the query string is performed.
If the returned value of urlObject.query property is an object, decoding will be performed on both key and value pairs.
Syntax
Following is the syntax of the NodeJS urlObject.query property
urlObject.property
Parameters
This property does not accept any parameters.
Return Value
This property retrieves either the query string without the leading ASCII characters or an object returned by the querystring.parse() method.
Example
If true is passed as an argument to the url.parse() method, the result of urlObject.query property will be in {query : string} object.
The following example demonstrates the usage of the NodeJS query property.
const url = require('url');
let address = 'https://user:pass@site.com:80000/pa/th?q=val#hashh';
let result = url.parse(address, true);
console.log(result.query);
Output
As we can see in the output below, the query property returned the value as {query: string} object.
{ q: 'val' }
Example
If false is passed as an argument to the url.parse() method, the result of urlObject.query property will be in query=string format.
The following example demonstrates the usage of the NodeJS query property.
const url = require('url');
let address = 'https://user:pass@site.com:80000/pa/th?q=val#hashh';
let result = url.parse(address, false);
console.log(result.query);
Output
Following is the output of the above code where the query property returned the value as query=string.
q=val
Example
If the provided URL string is not parsed using the parse() method, the query property will return undefined.
In the following example, we are trying to use the query property without parsing the provided URL.
const url = require('url');
let address = 'https://user:pass@site.com:80000/pa/th#hashh';
console.log(address.query);
Output
As we can see in the output below, the result of the query property is undefined.
undefined