gordyr
gordyr

Reputation: 6276

Sending an array of data to the server with jQuery

I am sending a CSV list to the server within the url. It is a list of songid's:

var $array = [];


        oTable.find('td').each(function(){

            $songdata = $(this).data('data');
            $songid = $songdata.songid;

    //The next line is the variable I need to also send along with each songid
            $duration = $songdata.duration;


            $array.push($songid)



            });

This results in '24,25,32,48,87' being sent to the server.

I then use the following in my php script to convert it into an array:

 $songs = $_GET['songid'];

 $songarray = explode(",", $songs);

This works great, I can access the data properly and all is well.

However I now have the need to add another property to each of the songid's. As seen above, I need to add the $duration variable to the data sent and be able to convert it into an array server side. (or alternatively construct the actual array client side would be fine also)

How would I go about this?

Upvotes: 1

Views: 90

Answers (5)

Rafay
Rafay

Reputation: 31033

make an associative array server side

$array = new Array();

//add songid as key and duration as value
$array = array_push_assoc($array, $songid, $songduration);


echo json_encode($array);

on the client side after parsing the json

$.each(json,function(key,value){
//key will be the songid
//value will be the duration
});

Upvotes: 0

bardiir
bardiir

Reputation: 14784

You could use this to encode your array into JSON:
http://www.openjs.com/scripts/data/json_encode.php

And then send that String to your backend where you can unpack it with this:

$yourarray = json_decode($string)

Upvotes: 2

Roman
Roman

Reputation: 3833

try sending arrays to PHP in JSON format and then do json_decode($var) in your PHP script.

Upvotes: 0

alrusdi
alrusdi

Reputation: 1283

You always can use JSON for data serialization/deserealization as of Serializing to JSON in jQuery

Upvotes: 1

Ashley Banks
Ashley Banks

Reputation: 528

I would create an object of the data in your jscript and send it over to the PHP and then use json_decode then you have an associative array of your data within the PHP

Upvotes: 2

Related Questions