Saxman Saxman - 4 months ago 30
jQuery Question

Flatten a javascript object to pass as querystring

I have a javascript object that I need to flatten into a string so that I can pass as querystring, how would I do that? i.e:

{ cost: 12345, insertBy: 'testUser' }
would become
cost=12345&insertBy=testUser


I can't use jQuery AJAX call for this call, I know we can use that and pass the object in as
data
but not in this case. Using jQuery to flatten to object would be okay though.

Thank you.

Answer

You want jQuery.param:

var str = $.param({ cost: 12345, insertBy: 'testUser' });
// "cost=12345&insertBy=testUser"

Note that this is the function used internally by jQuery to serialize objects passed as the data argument.