foo=1&foo=2&foo=3&blah=a&blah=bfoo=1,2,3&blah=a,bfunction compress(query) {
s = {type:[],value:[]}
$.each(data.split('&'), function(n){
parts = this.split('=');
s.type[n] = parts[0];
s.value[n] = parts[1];
});
var csv = '';
while(s.type.length > 0) {
value = s.value.shift();
type = s.type.shift();
while((pos = $.inArray(type, s.type)) > -1) {
value += ',' + s.value.shift();
s.type.shift();
}
csv += type + '=' + value + '&';
}
return csv.substring(0, csv.length-1);
}
function compress(data){
var q = {}, ret = "";
data.replace(/([^=&]+)=([^&]*)/g, function(m, key, value){
q[key] = (q[key] ? q[key] + "," : "") + value;
});
for ( var key in q )
ret = (ret ? ret + "&" : "") + key + "=" + q[key];
return ret;
}function compress(data) {
var q = {};
return data.replace(/&?([^&=]+)=([^&=]*)/g, function(m, key, value) {
return q[key] ? ("," + value) : (q[key] = m);
});
}