【发布时间】: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