From 038a743e6f49c347a38edc0e54dcbb175905a475 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Fri, 7 May 2010 12:09:14 -0700 Subject: xhr bulk fixes --- src/Resource.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/Resource.js') diff --git a/src/Resource.js b/src/Resource.js index 34ad1c5d..c9bad0c0 100644 --- a/src/Resource.js +++ b/src/Resource.js @@ -21,7 +21,7 @@ Route.prototype = { }); url = url.replace(/\/?#$/, ''); var query = []; - foreach(params, function(value, key){ + foreachSorted(params, function(value, key){ if (!self.urlParams[key]) { query.push(encodeURI(key) + '=' + encodeURI(value)); } @@ -69,14 +69,18 @@ ResourceFactory.prototype = { switch(arguments.length) { case 3: callback = a3; case 2: - if (typeof a2 == 'function') { + if (isFunction(a2)) { callback = a2; } else { params = a1; data = a2; break; } - case 1: if (isPost) data = a1; else params = a1; break; + case 1: + if (isFunction(a1)) callback = a1; + else if (isPost) data = a1; + else params = a1; + break; case 0: break; default: throw "Expected between 0-3 arguments [params, data, callback], got " + arguments.length + " arguments."; @@ -109,7 +113,7 @@ ResourceFactory.prototype = { case 1: if (typeof a1 == 'function') callback = a1; else params = a1; case 0: break; default: - throw "Expected between 1-3 arguments [params, data, callback], got " + arguments.length + " arguments."; + throw "Expected between 1-2 arguments [params, callback], got " + arguments.length + " arguments."; } var self = this; Resource[name](params, this, function(response){ -- cgit v1.2.3