instance method Hash#toQueryString
Hash#toQueryString() → String
Returns a URL-encoded string containing the hash's contents as query parameters according to the following rules:
- An undefined value results a parameter with no value portion at all (simply the key name, no equal sign).
- A null value results a parameter with a blank value (the key followed by an equal sign and nothing else).
- A boolean value results a parameter with the value "true" or "false".
- An Array value results in a parameter for each array element, in array order, each using the same key.
- All keys and values are URI-encoded using JavaScript's native
encodeURIComponent
function.
The order of pairs in the string is not guaranteed, other than the order of array values described above.
Example
$H({action: 'ship',
order_id: 123,
fees: ['f1', 'f2']
}).toQueryString();
// -> "action=ship&order_id=123&fees=f1&fees=f2"
$H({comment: '',
'key with spaces': true,
related_order: undefined,
contents: null,
'label': 'a demo'
}).toQueryString();
// -> "comment=&key%20with%20spaces=true&related_order&contents=&label=a%20demo"
// an empty hash is an empty query string:
$H().toQueryString();
// -> ""