2016-07-29 4 views
0

Den Versuch, den Inhalt von einer JSON-Datei zu laden jQuery und AJAX in PHP verwenden, aber die Funktion nur zurückkehrt [object Object],[object Object],[object Object].Probleme eine JSON-Datei mit jQuery und AJAX in PHP laden

Hier ist die JSON-Datei.

{"employees":[ 
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Anna", "lastName":"Smith"}, 
    {"firstName":"Peter", "lastName":"Jones"} 
]} 

Hier ist der Code, ich verwende.

<!DOCTYPE html> 
<html> 

<head> 
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("button").click(function() { 
       $.ajax({ 
        url: 'testing.txt', 
        type: 'GET', 
        dataType: 'json', 
        success: function(result) { 
         alert(result['employees']); 
        }, 
        error: function() { 
         alert("error"); 
        } 
       }); 
      }); 
     }); 
    </script> 
</head> 

<body> 
    <div id="div1"> 
     <h2>Let jQuery AJAX Change This Text</h2> 
    </div> 
    <button>Get External Content</button> 
</body> 

</html> 

Was mache ich falsch?

+0

try Ergebnis aufmerksam zu machen, um zu sehen, ob es Aufgabe ist, und es ist richtig Sie haben 3 Objekte –

+0

das ist richtig, 'result' ein Objekt ist, und' result.employees' ein Array ist von drei Objekten ... das Problem ist, wie Sie auf die Daten zugreifen ... 'result.employees [0] .firstName' wird * John * zum Beispiel –

+0

sein @ JaromandaX Ah, das macht Sinn. Vielen Dank! – TheAuzzieJesus

Antwort

1

Versuchen Sie Folgendes Sie json auf der Seite anzuzeigen:

Sie verwenden den Punktwähler die Werte der Felder auf dem Eigenschaftsnamen basierend auszuwählen, für die Mitarbeiter Eigenschaft al wenig anders ist, weil wir ein Array , so dass wir eine Schleife durch sie

success: function(result) { 
    $('#div1').empty(); 
    $.each(result.employees,function(i,v){ 
     $('#div1').append('<h2>'+v.firstName+' - '+v.lastName+'</h2>'); 
    }); 

}, 
+0

Ah, das hat funktioniert. Vielen Dank! – TheAuzzieJesus

+0

Vergessen Sie nicht, den grünen Knopf zu drücken, um die Antwort zu akzeptieren: p – madalinivascu