I’m trying to return an array from a PHP script in Ajax, however, it seems to not work, it returns me a string rather an Array. I’m using CodeIgniter Framework, there is my .php code :
public function get_form(){ $donneesModel = new Mdonnees(); $result = $donneesModel->getAll(); $data=array( 'chartDate' => array(), 'chartTemp' => array(), ); foreach ($result as $row) { $data['chartDate'][] = date("d/m", strtotime($row['date'])); $data['chartTemp'][] = $row['temperature']; } print json_encode($data); }
And there is my Ajax request :
$.ajax({ url:"Cdonnees/get_form", method:"GET", success:function(data) { console.log(data); .... .... }
My getAll() function just select all from the database, however i’m only using the temperature & date column.
It should return me an Array like this one, But rather it returns me this.
Can you please help me or give me some clue of what is going on ?
Yours sincerely,.
Advertisement
Answer
You need to parse the JSON in Javascript:
$.ajax({ url:"Cdonnees/get_form", method:"GET", success:function(data) { //this will print the data console.log(JSON.parse(data)); // save it to a variable and can use it in the rest of the program const pareseData = JSON.parse(data); .... .... } });
and it should work.