2012-03-26 16 views
0

Ich habe ein Problem mit dem zurückgegebenen Array von Ajax Anruf.Json-Objekt Verwendung mit Ajax zurückgegeben Array

Das Array ist mit JSON verschlüsselt. Es ist wie unten

while ($found_course = mysql_fetch_assoc($sql)) { 

    $info[] = array(
     'code' => $found_course['course_code'], 
     'name' => $found_course['course_name'] ); 

} 
echo json_encode($info); //this is returned to javascript 

dann ist das Problem, dass ich nicht das obige Array in Javascript zurückgegeben verwenden kann. Ich habe versucht, die $ .each-Methode zu verwenden, aber ohne Erfolg. Das eval() funktioniert auch nicht, da es die Ausgabe als [Objektobjekt] gibt. Kann mir bitte jemand dabei helfen?

Alles, was ich möchte in der Lage sein, den Code-Zugang und den Namen des Kurses saperately

Dank.

+0

Können Sie auch Ihr Javascript posten? – Tchoupi

+0

Wie ist die Struktur Ihres JSONs? Wie es zu Javascript kommt, ist nicht wirklich relevant. – jbabey

+1

nit-picky: es ist json-codiert, nicht verschlüsselt. – VolkerK

Antwort

3

Gerade Schleife durch sie mit for()

for (var c in myAjaxArray){ 
    myAjaxArray[c].code; // contains the code 
    myAjaxArray[c].name // contains the name 
} 

Stellen Sie sicher, dass der Datentyp in dem jQuery Ajax-Aufruf zu „JSON“ gesetzt, um sicherzustellen, Sie ein JSON-Objekt haben. Oder verwenden Sie die $.getJSON() Funktion.

+2

Ich würde vorschlagen, 'var c' anstelle von' c' zu verwenden, um die Erstellung eines globalen zu vermeiden. – jbabey

+0

@jbabey danke guten Vorschlag –

+0

Dank Topener funktioniert es mit Ihrer Methode – Sahil

0
<script> 
var data = <?= json_encode($info); ?>; 
for (var i = 0; i < data.length; i++) { 
    var item = data[i]; 
    alert(item["code"] + "/" + item["name"]); 
} 
<script> 
+0

Dies ist die Struktur des Javascript – Sahil

0

Dies sollte Ihnen die Daten erhalten, die Sie brauchen. Nicht sicher, wie Sie versucht haben, $ .Each zu verwenden, aber es sollte in Ihrer Erfolgsfunktion auf Ihrem AJAX-Aufruf sein. Stellen Sie außerdem sicher, dass der Datentyp auf json festgelegt ist.

success: function(data){ 
    $(data).each(function(idx,val){ 
    alert(val.code + " " + val.name); 
    }) 
} 
Verwandte Themen