【问题标题】:Running out of HTTP requests with a Ajax function on my server在我的服务器上用 Ajax 函数耗尽 HTTP 请求
【发布时间】:2020-02-24 13:18:31
【问题描述】:

我不太了解服务器和 HTTP 请求限制,在我的例子中,我在 GoDaddy 上有一个 Linux Deluxe 主机,它运行得非常顺利,但现在我需要了解为什么我的网站无法访问 (ERR_CONNECTION_CLOSED )启动以下代码2-3次后(第一次正常,当我刷新页面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;
    }

调用该 JS 脚本的 PHP for 循环:

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 循环遍历 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 请求有关,如下所示:

如您所见,我的 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然后数据)。

【问题讨论】:

  • 你需要检查服务器日志以了解发生了什么,没有它会像任何猜测一样好。
  • 谢谢,很抱歉我的愚蠢问题,但是如何检查服务器日志?
  • @FrankDev 你能排序一样吗?我在使用 AJAX 时遇到了类似的问题。
  • 嗨,我也面临同样的问题。你有解决方案吗?

标签: php jquery ajax timeout httprequest


【解决方案1】:

我通过简单地将我的 php 文件移动到 AWS Lightsail 实例中解决了这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-29
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多