2016-04-08 14 views
1

PHPでJSONをエコーし​​ようとしています。私がエコーしている配列は静的であり、配列の中には複数のレコードがあります。それはこれはなぜ「未定義」ステータスを与えるのですか

$.getJSON("https://oasis-hosting.net/panel/handlers/server_functions/get.serverLog.php?service_id=22", 
function(result){ 
    var json = result; 
    $.each(json, function(i, data) { 
     $("#gameTerminal_content").append("" + data.line + ""); 
    }) 
}); 

さて、それは結果をエコーし​​ないエコー

コード

$return_output = array(); 
$return_output['error'] = false; 

while (($serverLog_line=fgets($fopen_serverLog))!==false) { 
    $return_output[] = array(
     "line" => $serverLog_line, 
    ); 
} 

echo json_encode($return_output); 

とjQueryは、しかし、それは "未定義" と言うつの結果をエコーし​​ます。スクリーンショット:https://gyazo.com/47d2fbef749b94585c78a79b207fa65f

それがコマンドコンソールに書き込まれ

答えて

3

実際のデータリストがerror要素と混在しているからです。

変更データは、独自の配列であるような構造:しばらく

$return_output['error']  = false; 
$return_output['data']  = array(); 

$return_output['data'] = array(
    "line" => $serverLog_line, 
); 

JavaScriptでは、データのみをリストしないエラー要素を反復処理します:

var json = result.data; 
0

ありがとう、それは書いている:

を「ヌルのプロパティを読み取ることができません 『行』」

これは、$のreturn_outputリターンを意味しますヌル。私はPHPでうまくいきませんが、あなたは$ return_outputを返すと思いますが、あなたは$ return_output []を変更します。

これらは2つの異なる変数のように見えます。これが理由です。

関連する問題