From 4a3bbec114e29d685d375ef40902c1f6bc9d0fab Mon Sep 17 00:00:00 2001 From: Matteo Crippa Date: Wed, 1 Apr 2015 20:51:11 +0200 Subject: [PATCH] fix toQueryString issue with multi object Using previous version multi object were converted into a [object object] string instead of iterate over them --- core-xhr.html | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/core-xhr.html b/core-xhr.html index ea22804..4c641d5 100644 --- a/core-xhr.html +++ b/core-xhr.html @@ -71,21 +71,25 @@ } return xhr; }, - - toQueryString: function(params) { - var r = []; - for (var n in params) { - var v = params[n]; - n = encodeURIComponent(n); - r.push(v == null ? n : (n + '=' + encodeURIComponent(v))); + + toQueryString: function(obj, prefix) { + var str = []; + for (var p in obj) { + if (obj.hasOwnProperty(p)) { + var k = prefix ? prefix + "[" + p + "]" : p, + v = obj[p]; + str.push(typeof v == "object" ? + this.toQueryString(v, k) : + encodeURIComponent(k) + "=" + encodeURIComponent(v)); + } } - return r.join('&'); + return str.join("&"); }, isBodyMethod: function(method) { return this.bodyMethods[(method || '').toUpperCase()]; }, - + bodyMethods: { POST: 1, PUT: 1, @@ -112,5 +116,5 @@ }); - +