So i have this piece of javascript, it posts to foo.php with value val, gets back data, empties the container and call function graph which will fill the container with a new chart.
$.post("foo.php", {val: val}, function(data){
if(data.length >0) {
$('#container').html('');
graph(data);
}
});
in foo.php, how do I make it pass back an array instead of string? at the moment I just have an echo in foo.php that echos the data delimited by a comma, ie: 1,2,3,4,5. then in the graph function I have a split(',' data) that creates an array for later use.
I mean, all this works fine, I’m just wondering if I can avoid the split step and have foo.php return an array directly.
thanks!
That’s what
json_encodeis for:Just remember to set JSON headers, so that jQuery will know to parse the returned data as JSON. If you don’t, you’ll have to specify that in your jQuery AJAX call as follows: