У меня есть сервер, который работает и ждет данных
while(true){
$r = socket_recvfrom($sock, $messageRecieved, 512, 0, $remote_ip, $remote_port);
....
....
....
$jsonData = array("Name" => $sensor->getName(), "Value" => $sensor->getValue(), "Tipology" => $sensor->getTipology(), "Timestamp" => $sensor->getTimestamp());
echo json_encode($jsonData);
}
Затем у меня есть запрос Ajax к этому сценарию
$(document).ready(function () {
$.ajax({
type: "POST",
url: "../serverScript.php",
dataType:'json',
success: function (response, textStatus, xhr) {
response["Name"] = response["Name"].replace(/\s/g, '');
divId = $('#' + response["Name"]);
if (!divId.length){
$('#serverResult').append('' +
'<div class="col-sm-4 shadow-lg p-3 mb-5 bg-white rounded one marginTop-1" id = "' + response["Name"] + '">' +
'<h3 class="d-flex justify-content-center">' + response["Name"] + '</h3>' +
'</div>'
);
}
$("#"+response["Name"]).append(response["Tipology"] + " " + response["Value"] + " " + response["Timestamp"]);
},
error: function (xhr, ajaxOptions, thrownError) {
console.warn(xhr.responseText);
alert(xhr.status);
alert(thrownError);
}
});
});
Извините за плохой код, оба запроса Ajaxи PHP-скрипт будут намного лучше, мне просто нужно, чтобы сначала все заработало!
Моя проблема:
Запрос Ajax отлично работает, когда я удаляю while из кода сервера исделать только одну итерацию цикла.Проблема в том, что я хотел бы получить Ajax-запрос для каждого сообщения, полученного с сервера.Итак, в принципе, мне нужен способ использовать Ajax-запрос внутри цикла while.В любом случае, чтобы сделать это?
Спасибо!