2012-04-13 5 views
-1

Ich benutze die folgenden, um eine Zeichenfolge von PHP abzurufen, möchte ich wissen, wie meine Zeichenfolge in ein Array zu machen.Nehmen Sie die .get JSON-Zeichenfolge in Array?

JQuery

$.get("get.php", function(data){ 
    alert(data); 
    //alert($.parseJSON(data)); 
}, "json"); 

der Kommentar gesetzt Abschnitt scheint keine Wirkung zu haben, so kann ich nicht wirklich sagen, was ich falsch mache, könnte jemand bitte beraten?

Ich kann die PHP bei Bedarf veröffentlichen.

Danke.

PHP

<?php 

$username="root"; 
$password="root"; 
$database="testing"; 

mysql_connect(localhost,$username,$password); 
@mysql_select_db($database) or die("Unable to select database"); 

$name= $_GET['name']; 

$query="SELECT * FROM tableone "; 
$result=mysql_query($query); 

$num=mysql_numrows($result); 

mysql_close(); 

$array = array(); 

$i=0; 
while ($i < $num) { 

    $first=mysql_result($result,$i,"firstname"); 
    $last=mysql_result($result,$i,"lastname"); 
    $date=mysql_result($result,$i,"date"); 
    $ID=mysql_result($result,$i,"id"); 

    $array[$i] = $first; 

    $i++; 
} 

echo json_encode($array); 

?> 

Ausgang:

["James","Lydia","John"]

+0

Welche Daten werden zurückgegeben? – j08691

+1

Da Sie 'json' bereits als Rückgabe-Daten angegeben haben, ist Datentyp' data' bereits ein Objekt, das Sie verwenden können, Sie brauchen nicht '$ .parseJSON (data)'. Dies setzt voraus, dass Ihre PHP-Seite Daten im richtigen Format zurückgibt. –

+0

Bitte poste den PHP-Code, der den JSON generiert; Was Sie ändern müssen, ist der PHP-Code, nicht das JavaScript - 'data' ist was auch immer Ihr PHP-Code als JSON zurückgibt. – ThiefMaster

Antwort

0

Sie JSON erhalten bereits in diesem Rückruf aus. Es sieht nicht so aus, denn wenn Sie "alarmieren", wird es in eine Zeichenfolge konvertiert, die aus einer durch Kommas getrennten Liste der Array-Elemente besteht.

Sie können dies sehen, indem Sie alert(data instanceof Array); tun, die "wahr" ausspucken wird.

+0

Ok, nun gebe ich PHP ein Array, wie bekomme ich 'Daten', um ein Array zu sein? –

0

Sie erhalten bereits etwas, das so nützlich ist wie ein Array. Lassen Sie uns sagen, dass Ihre PHP dies tut:

<?php echo json_encode(array('John', 'Mary', 'Joseph')); ?> 

In Ihrer Funktion, wo Sie die Daten sind alarmiert, können Sie Zugriff auf die Elemente wie diese:

alert(console.log(data[0])); //will alert "John" 
alert(console.log(data[1])); //will alert "Mary" 

Wenn Sie eine Schleife durch alle brauchen Die Elemente können Sie folgendermaßen erstellen:

$(data).each(function(index) { 
    console.log(this.toString()); 
});​ 
+0

das ist die Sache, alert (console.log (data [0]);); 'gibt nur ein Zeichen, nicht einen vollständigen Namen zurück –

+0

Vielleicht vergessen Sie das Array() in der JSON-Codierung? – mitchkramez