2016-04-19 16 views
1

Ich lerne derzeit über RESTful APIs. Ich kann JSON jetzt auf der Konsole drucken, aber wie würde ich es erreichen, es auf einer tatsächlichen Webseite zu wiederholen ... Jeder Rat würde sehr geschätzt werden. Bitte sehen Sie meinen Code unten.Echo JSON in PHP

$(document).on("ready", function(){ 
 
    loadData(); 
 
}); \t 
 
\t \t \t 
 
var loadData = function(){ 
 
    $.ajax({ 
 
    type:"POST", 
 
    url:"api.php" 
 
    }).done(function(data){ 
 
    console.log(data); 
 
    var post = JSON.parse(data); 
 
    for(var i in post){ 
 
     $("#content").append(post[ i ].usuario + " " + post[ i ].nombres + "<br>"); 
 
    } 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

+0

Was bedeutet 'console.log (Daten);' zurückkehren? – Aurel

+0

@Aurel Gibt Tabelleninhalte aus einem DB in JSON zurück. –

+1

Warum sagst du, dass du "JSON momentan nicht drucken kannst"? – Aurel

Antwort

1

try jquery .each() Schleife zu verwenden, sollte es in Ihrem Fall (Iterieren auf JSON-Objekt)

https://api.jquery.com/each/

Denken Sie daran, den Unterschied zwischen Array nützlich sein Typ und Objekttyp; Sie können nicht mit der einfachen 'FOR'-Schleife auf Objekt iterieren - Objekt hat keinen Iterationswert - Objekte haben Schlüssel, die Sie aufrufen müssen, um die Daten zu erhalten. Zum Beispiel:

var object = { name: 'Foo' } 

Um die "Foo" Wert erhalten Sie rufen müssen: object.name

0

können Sie forEach verwenden, um durch ein Array in Javascript iterieren.

$(document).on("ready", function(){ 
 
    loadData(); 
 
}); \t 
 
    \t \t \t 
 
var loadData = function(){ 
 
    $.ajax({ 
 
    type:"POST", 
 
    url:"api.php" 
 
    }).done(function(data){ 
 
    console.log(data); 
 
    var post = JSON.parse(data); 
 
     
 
    // Foreach item in post 
 
    post.forEach(item, index) { 
 
     $("#content").append(item.usuario + " " + item.nombres + "<br>"); 
 
    } 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 

 
<div id="content"></div>