2017-05-10 3 views
-1

Ich versuche, eine Variable mit JSON von PHP zurückgegeben, aber ich bekomme immer ein leeres Array. Dies ist die PHP-Ausgabe:Setze JS-Variable mit JSON, zurückgegeben von PHP

{ 
    "results":[ 
     {"date":"08:39 01/04/2016", "value":"0"}, 
     {"date":"08:39 01/04/2016", "value":"0.01"} 
    ] 
} 

und dies der PHP-Code:

# ... 
header('Content-type: application/json'); 
echo '{"results":[' . $results . ']}'; 

Ich versuche, einen JavaScript mit diesem Code zu setzen:

$.getJSON(url, function(responce) { 
    console.log(responce); 
}); 

$.ajax({ 
    url: url, 
    dataType: "json", 
    async: false 
}).then(function(responce) { 
    console.log(responce); 
}); 

$http.get(url).then(function(responce) { 
    console.log(responce.data); 
}); 

Aber alle produzieren die gleiche Leistung:

Object {results: Array(0)} 
+2

Überprüfen Sie, ob Sie Daten von PHP über die Netzwerkkonsole erhalten. – Shubham

+0

Erhalten Sie tatsächlich die erwartete Ausgabe, wenn Sie in Ihrem Browser auf die Anfrage "URL" gehen? – glhrmv

+0

Ja, und die Ausgabe ist der JSON-Code, den ich in der Frage – Mpac

Antwort

0

Statt Echo t Wenn Sie die Zeichenfolge direkt eingeben, können Sie die Funktion json_encode verwenden.

$data = [ 
    "results" => [ 
    [ 
     "date" => "08:39 01/04/2016", 
     "value" => "0" 
    ], 
    [ 
     "date" => "08:39 01/04/2016", 
     "value" => "0.01" 
    ] 
    ] 
]; 

header('Content-type: application/json'); 
echo json_encode($data);