Passer un tableau via AJAX de php vers javascript

Je dois obtenir un tableau généré à partir d'un script php. J'ai une Latitude et une Longitude pour chaque utilisateur dans une base de données. Je prends les valeurs du db avec ce code (fichier.php):

$query = "SELECT Latitude, Longitude FROM USERS"; $result=mysql_query($query); $array=array(); while ($data = mysql_fetch_array($result)) { $array[]=$data['Latitude']; $array[]=$data['Longitude']; } echo $array; 

Et j'appelle avec ajax avec ce code:

 $.post('./file.php', function( result ){ alert(result); }); 

Mais même si dans le script php le tableau est correct (si j'échole le tableau [25], j'obtiens la bonne valeur) en Javascript, j'obtiens "Undefined". Comment puis-je obtenir le tableau de manière correcte? Merci!

Edit: après codé avec json_encode ($ array); Dans php et JSON.parse (résultat) dans javascript semble ne pas fonctionner. Dans la console, j'ai le tableau, mais je ne peux pas accéder à ses valeurs. (Array [0] m'a donné "indéfini").

utilisez ceci

 echo json_encode($array); 

Du côté du serveur

et

 var arr=JSON.parse(result); 

Du côté client

Comme l'a mentionné Ruslan Polutsygan, vous utilisez

 echo json_encode($array); 

Sur le côté PHP.

Sur le côté Javascript, vous pouvez simplement ajouter DataType à $ .post () – Fonction:

 $.post( './file.php', function( result ){ console.log(result); }, 'json' ); 

Et le résultat-Paramètre est le JSON-Data analysé.

Vous pouvez également définir le type de contenu correct dans votre script PHP. Ensuite, jQuery devrait analyser automatiquement les données JSON retournées à partir de votre script PHP:

 header('Content-type: application/json'); 

Voir
http://api.jquery.com/jQuery.post/
http://de3.php.net/json_encode

Vous devez convertir le tableau php en json, essayez:

echo json_encode($array);

JQuery devrait pouvoir voir que json est retourné et créer un objet javascript hors de lui automatiquement.

 $.post('./file.php', function(result) { $.each(result, function() { console.log(this.Latitude + ":" + this.Longitude); }); });