Andrew
Andrew

Reputation:

Best way to pass JSON from Browser to PHP using Ajax.Request

Hi I have a JSON object that is a 2-dimentional array and I need to pass it to PHP using Ajax.Request (only way I know how). ...Right now I manually serialized my array using a js function...and get the data in this format: s[]=1&d[]=3&[]=4 etc. ....

my question is: Is there a way to pass the JSON object more directly/efficientely?..instead of serializing it myself?

Thanks for any suggestions, Andrew

Upvotes: 4

Views: 8565

Answers (4)

Prajwal Tuladhar
Prajwal Tuladhar

Reputation: 533

You can also use Prototype's function toJSON() to convert an array into a JSON object. After passing it to server via Ajax call, simply use PHP's function json_decode() to decode the object.

Upvotes: 5

blavla
blavla

Reputation: 537

Check http://www.openjs.com/scripts/data/ued_url_encoded_data/ to encode nested data directly correct, since Object.toQueryString() doesn't accept nested data...

Upvotes: 0

Luis Melgratti
Luis Melgratti

Reputation: 12060

In que Javascript side (with Prototye):

var myJSON= Object.toJSON(youArray);

In que Php side:

$myjson = $_POST['myjson'];

$arrayJSON= json_decode(stripslashes($myjson), true);

Upvotes: 3

mthurlin
mthurlin

Reputation: 27315

Pass the object as a JSON-string to PHP, and in PHP use the builtin json_decode to get a PHP-object from the string.

In Javascript, use a "stringify" function on your object to get it as a string, library available for example here: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

Upvotes: 5

Related Questions