diff --git a/lib/helpers/buildUrl.js b/lib/helpers/buildUrl.js index b25f0ef..966a521 100644 --- a/lib/helpers/buildUrl.js +++ b/lib/helpers/buildUrl.js @@ -8,7 +8,9 @@ function encode(val) { replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). - replace(/%20/g, '+'); + replace(/%20/g, '+') + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); } /** @@ -31,7 +33,7 @@ module.exports = function buildUrl(url, params) { } if (utils.isArray(val)) { - key = key+'[]'; + key = key + '[]'; } if (!utils.isArray(val)) { diff --git a/test/specs/helpers/buildUrl.spec.js b/test/specs/helpers/buildUrl.spec.js index 604d442..ce3989e 100644 --- a/test/specs/helpers/buildUrl.spec.js +++ b/test/specs/helpers/buildUrl.spec.js @@ -30,7 +30,7 @@ describe('helpers::buildUrl', function () { it('should support array params', function () { expect(buildUrl('/foo', { foo: ['bar', 'baz'] - })).toEqual('/foo?foo%5B%5D=bar&foo%5B%5D=baz'); + })).toEqual('/foo?foo[]=bar&foo[]=baz'); }); it('should support special char params', function () {