Как добавить значения из JSON в таблицу, используя Javascript? - PullRequest
0 голосов
/ 07 апреля 2020

Я следую этому учебнику, чтобы создать таблицу в реальном времени с PHP и AJAX. Файл PHP возвращает значения в формате JSON:

{ "retcode" : "0 Done", "trans_id" : "187472", "answer" : [ { "Country" : "US", "Digits" : "5", "Datetime" : "1586259875", "DatetimeMsc" : "1586259875596", "First" : "1.08580", "Second" : "1.08589" } , { "Country" : "China", "Digits" : "5", "Datetime" : "1586259877", "DatetimeMsc" : "1586259877000", "First" : "1.23311", "Second" : "1.23327"} , { "Country" : "Russia", "Digits" : "3", "Datetime" : "1586259874", "DatetimeMsc" : "1586259874585", "First" : "108.897", "Second" : "108.914" } ] }

Моя JS функция для обновления значений в реальном времени:

update : function (data) {
var message = "<p>Retcode: " + data['retcode'] + "</p>";
message += "<p>Trans ID: " + data['trans_id'] + "</p>";
message += "<p>UPDATED: " + data['answer'] + "</p>";
document.getElementById("values").innerHTML = message;
symbols.last = data['t'];
symbols.poll(); 
}

PHP код файла:

while (true) {
$symbols=$request->Get('/symbol_last?country=US,China,Russia');
if($symbols!=false)
{
$newsymbols=json_encode($symbols);
echo $newsymbols;
return $newsymbols;
break;
}
sleep(1);
}

Файл HTML содержит этот код:

<!DOCTYPE html>
<html>
<head>
<title>
  AJAX Long Polling Values
</title>
<script src="symbols.js"></script>
</head>
<body>
<div id="values"></div>
</body>
</html>

Результат этого:

enter image description here

где Trans ID является значением в реальном времени и увеличивается в реальном времени на единицу. Как получить другие значения ответа (Страна, Первый, Второй) и показать его в таблице? Заранее спасибо.

1 Ответ

0 голосов
/ 07 апреля 2020

U нужно преобразовать вашу строку в JSON объект

update : function (data) {
    var jsonData = JSON.parse(data);
    var message = "<p>Retcode: " + jsonData['retcode'] + "</p>";
    message += "<p>Trans ID: " + jsonData['trans_id'] + "</p>";
    message += "<p>UPDATED: " + jsonData['answer'] + "</p>";
    document.getElementById("values").innerHTML = message;
    symbols.last = data['t'];
    symbols.poll(); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...