На моем сервере заканчиваются HTTP-запросы с функцией Ajax - PullRequest
0 голосов
/ 24 февраля 2020

Я не так много знаю об ограничениях серверов и HTTP-запросов, в моем случае у меня есть хостинг Linux Deluxe на GoDaddy, который работает довольно гладко, но теперь мне нужно понять, почему мой сайт недоступен (ERR_CONNECTION_CLOSED) после запуска следующего кода 2-3 раза (в первый раз, когда все идет нормально, проблема возникает, когда я повторно ссылаюсь sh на страницу 1-2):

Мой ajax вызов:

function XSGetPointer(id, tableName) {
        var pointer;
        var ok = false;

        $.ajax({
            url : TABLES_PATH + 'm-query.php?',
            type: 'POST',
            data: 'tableName=' + tableName,
            async: false,
            success: function(data) {
                var results = JSON.parse(data);
                for(var i=0; i<results.length; i++) {
                    if (results[i]['ID_id'] == id ) {
                        pointer = results[i];
                        ok = true;
                    }
                    if (i == results.length-1 && !ok) {
                        pointer = null;
                    }
                }
            // error
            }, error: function(e) { 
                console.log('XSCurrentUser -> Something went wrong: ' + e.message);
        }});
    return pointer;
    }

PHP для l oop, где вызывается сценарий JS:

for(var i=0; i<objectsArray.length; i++){
    var userPointer = XSGetPointer(objectsArray[i]['PO_userPointer_Users'], 'Users');
    $('#queryData').append(
         '<p>'
        +userPointer['ST_username']+
        '<br></p>'
    );
}// ./ For • Show results

for l oop выше перебирает 57 элементов ( objectsArray's длина). Сценарий m-query.php просто получает все данные из файла JSON, например:

// Get JSON data
$data = file_get_contents($tableName. '.json');
$data_array = json_decode($data, true);
echo json_encode(array_values($data_array), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);

Поддержка GoDaddy подсказала мне приобрести VPS-сервер, но я не мог понять настоящую причину моя проблема, я полагаю, связана со многими HTTP-запросами, которые я отправляю на одной странице, как показано здесь:

Chrome Network panel

Как вы можете видеть, мой ajax звонок останавливается после нескольких звонков, он не достигает 57, а консоль Chrome показывает:

jquery-3.4.1.min.js:2 POST https://example.com/m-query.php? net::ERR_CONNECTION_CLOSED

Я просто хотел знать, может ли это исправить переключение на VPS-сервер проблема, или если мой ajax запрос просто полностью неверен, поскольку он также async: false (я не могу сделать его true, потому что тогда он не получает JSON данных).

...