2009-09-02 6 views
0

Mon code:valeurs de tableau Retrieving jquery

$.get('ajax/time_menus.php', { shift: $('#shifts').val() },  
     function(data) 
     { 

      //load the array into a test element so we can see what is returned 
      $("#test").html(data); 

      //set the hour menu 
      var startHour = data[0]; 
      alert(startHour); 
      $('#from_hours').val(data[0]); 

     }); 

Retourne un tableau comme celui-ci: ["08","00","AM","11","00","AM"]

Mais pour une raison quelconque la ligne alert(startHour); lancera une alerte de: [

Qu'est-ce que Je fais mal?

Je reçois cette erreur avec Firebug.

site.com/schedule/ajax/time_menus.php?shift=23 GET http://www.sharingizcaring.com/schedule/ajax/time_menus.php?shift=23

200 OK 296ms jquery-1.3.2.js (ligne 3633) exception uncaught: [Exception ... "Impossible de convertir l'argument JavaScript arg 0" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" emplacement: "cadre JS :: http://www.sharingizcaring.com/schedule/js/jquery-1.3.2.js :: :: anonyme ligne 957" données: no]

Répondre

1

Cela arrive parce que data est une chaîne. Vous devez le recevoir sous forme de tableau afin d'obtenir ce que vous voulez. Utilisez le quatrième argument de afin de spécifier le type, dans votre cas JSON:

$.get('ajax/time_menus.php', { shift: $('#shifts').val() }, function(data) { 
    ... 
}, "json"); // <--here 

// or shorter 

$.getJSON('ajax/time_menus.php', { shift: $('#shifts').val() }, function(data) { 
    ... 
}); 
+0

Lorsque je fais cela, rien ne se passe. Si je supprime mon json_encode ($ var); Dans ma page PHP, l'alerte affiche Undefined – ian

+1

Installez Firebug et voyez quelle est la réponse reçue par le navigateur. Ce n'est peut-être pas JSON valide. Ou essayez '$ .getJSON (url, data, callback);' –

+0

Essayé ceux mais pas de réponse de chance est: ["04", "00", "PM", "11", "00", "PM"] – ian

0

essayer de travailler avec JSON en définissant le type sur le $ .get à "json" (par défaut, il renvoie une réponse HTML/XML)

Questions connexes