2016-11-21 5 views
0

Ich verwende datatables, um eine Tabelle mit Informationen aus meiner Datenbank zu erstellen, aber ich habe Probleme mit der Übergabe der Daten an die Tabelle mit JSON/AJAX, da die Daten einen ungültigen JSON-Antwortfehler ergeben.Ausgabe von json_encode ungültig als JSON-Antwort auf Datatables?

Was ich mache ist, das Ergebnis einer Abfrage als ein Objekt zu nehmen und es als JSON für die Datentabelle zu holen. Es scheint, als wäre ich damit beschäftigt, es in JSON zu kodieren.

Ob ich dump/echo $ json oder $ obj das Ergebnis bleibt das gleiche. Ich habe versucht, den Ausgang der json_encoder durch ein JSON Validator setzen und es gibt mir die folgenden Parser-Fehler:

Error: Parse error on line 1: 
object(stdClass) #1 
^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined' 

Unten ist die Ausgabe von $ json. Ich habe es auf eine einzelne Zeile reduziert, da es ziemlich viele gibt.

object(stdClass) #1 (23) { ["GebruikerID"]= > int(17)["KledingID"] => string(5) 
"KL001" ["Aantal"] => int(2)["Notitie"] => string(10) 
"incl. Logo" ["Omschrijving"] => string(5) 
"Broek" ["Artikelnr"] => string(14) 
"12179-203-0918" ["Prijs"] => string(5) 
"50.36" ["Gebruikersnaam"] => string(2) 
"CD" ["Voornaam"] => string(4) 
"Coen" ["Tussenvoegsel"] => NULL["Achternaam"] => string(10) 
"*******" ["Woonplaats"] => NULL["Email"] => string(25) 
"*****@*****.nl" ["Functienaam"] => string(14) 
"Field Engineer" ["Bedrijf"] => string(6) 
"Cruxin" ["Manager"] => NULL["Werkplek"] => NULL["IndienstTreding"] => string(10) 
"1999-12-31" ["Beschrijving"] => NULL["CreatedBy"] => NULL["ModifiedBy"] => NULL["DateCreated"] => NULL["DateModified"] => NULL 
} 

Bin ich nicht json_encode richtig verwendet? Würde mich freuen Hilfe!

Hier ist meine Datentabellen javascript:

$(document).ready(function() { 
    $('#example').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": "server_processing.php" 
    }); 
}); 

Antwort

0
$json = json_encode($obj); 
var_dump ($json); 

// Remember `json_encode` only takes in array and not objects 
echo json_encode((array)$obj); 

json_encode den Ausgang dort string hat sein Soll nicht nötig var_dump da drüben ist.

+0

Und seine While-Schleife hat auch einen var_dump drin. – bassxzero

+0

@bassxzero ich stelle mir vor, das ist nur zum Debuggen oder etwas später in seinem Skript. Es gibt keine json_encode-Funktion, die dort aufgerufen wird :). In der Regel ist es auch so, dass die Leute nur eine json-Ausgabe als Antwort brauchen und nicht viele von ihnen. Aber egal, wenn das 'json encoding' erfordert, sollte er in der Lage sein, aus der Antwort zu sehen, wie man es benutzt: D – georoot

+0

Ich habe versucht, was Sie vorgeschlagen haben, und die zurückgegebene Ausgabe ist einfach" null ". Was verursacht das? Kann ich $ obj nicht als JSON codieren, so dass es null gibt? – Brayn

Verwandte Themen