AJAX-запрос к бесконечному циклу на php - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть сервер, который работает и ждет данных

    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.В любом случае, чтобы сделать это?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...