2016-04-08 3 views
1

Я пытаюсь повторить JSON с PHP. Мой массив, который я эхо, является частью статичным, и часть его имеет несколько записей в массиве.Почему это дает статус «undefined»

Код

$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 вторя его

$.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 + ""); 
    }) 
}); 

Теперь это эхо результатов, однако это эхо один результат, который говорит, что "не определено". Скриншот: 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 [].

они выглядят как две разные переменные. это должно быть причиной.

Смежные вопросы