EDIT: It appears the problem is this:
http.open('get', 'perks.php?+obj2url("amount", amount)&obj2url("name", name)');
Should be:
http.open('get', 'perks.php?' + obj2url("amount", amount) + '&' + obj2url("name", name)');
ORIGINAL POST:
Use this function (modified from here):
function EncodeQueryData(arr_data, str_prepend) {
str_prepend = str_prepend || "";
var ret = [];
for (var d in arr_data)
ret.push(encodeURIComponent(str_prepend + d) + "=" + encodeURIComponent(arr_data[d]));
return ret.join("&");
}
var base_url = "perks.php";
var query_string = EncodeQueryData(amount, "amount") + '&' + EncodeQueryData(name, "name");
window.location = base_url + '?' + query_string;
This should give you for example something like this:
perks.php?amount0=10&amount1=27&name0=john&name1=sally
.