How to build query string with Javascript How to build query string with Javascript javascript javascript

How to build query string with Javascript


2k20 update: use Josh's solution with URLSearchParams.toString().

Old answer:


Without jQuery

var params = {    parameter1: 'value_1',    parameter2: 'value 2',    parameter3: 'value&3' };var esc = encodeURIComponent;var query = Object.keys(params)    .map(k => esc(k) + '=' + esc(params[k]))    .join('&');

For browsers that don't support arrow function syntax which requires ES5, change the .map... line to

    .map(function(k) {return esc(k) + '=' + esc(params[k]);})


The URLSearchParams API is available in all modern browsers. For example:

const params = new URLSearchParams({  var1: "value",  var2: "value2",  arr: "foo",});console.log(params.toString());//Prints "var1=value&var2=value2&arr=foo"