gpt4 book ai didi

javascript - 使用 AJAX 实时搜索栏时出现“ERR_EMPTY_RESPONSE”

转载 作者:行者123 更新时间:2023-11-30 13:55:49 25 4
gpt4 key购买 nike

我有一个实时 AJAX 搜索栏,可以从 MySQL 数据库中获取记录。但是,当您通过更改搜索栏重复搜索记录时,Web 浏览器会抛出错误“ERR_EMPTY_RESPONSE”。

ERR_EMPTY_RESPONSE

如果您尝试刷新页面,它会崩溃 60(大约)秒。 https://imgur.com/a/ghc8Zkn

如果有任何不同,我正在使用 GoDaddy 服务器。

我已尝试按照其他问题中的建议将 PHP 内存限制增加到 512mb。这似乎没有什么区别。

这是我的 Javascript

<script type="text/javascript">
$(document).ready(function()
{
$(".product_check").click(function()
{
$("#loader").show();

var action = 'data';
var eventname = get_filter_text('eventname');
var category = get_filter_text('category');
var year = get_filter_text('year');
var num = document.getElementById('num').value;

$.ajax(
{
url:'action.php',
method:'POST',
data:{action:action, eventname:eventname, category:category, year:year, num:num}, success:function(response)
{
$("#result").html(response);
$("#loader").hide();
$("#textChange").text("Filtered Products");
}
});
});

$(".tb").keyup(function()
{
$("#loader").show();

var action = 'data';
var eventname = get_filter_text('eventname');
var category = get_filter_text('category');
var year = get_filter_text('year');
var num = document.getElementById('num').value;

$.ajax(
{
url:'action.php',
method:'POST',
data:{action:action, eventname:eventname, category:category, year:year, num:num}, success:function(response)
{
$("#result").html(response);
$("#loader").hide();
$("#textChange").text("Filtered Products");
}
});
});

function get_filter_text(text_id)
{
var filterData = [];
$('#'+text_id+':checked').each(function()
{
filterData.push($(this).val());
});
return filterData;
}
});
</script>

这是我的后端 PHP

if(isset($_POST['action']))
{
$sql = "SELECT * FROM tb_ETSlips WHERE eventname != ''";

if(isset($_POST['eventname']))
{
$eventname = implode("','", $_POST['eventname']);
$sql .= "AND eventname IN('" . $eventname . "')";
}
if(isset($_POST['year']))
{
$year = implode("','", $_POST['year']);
$sql .= "AND year(timestamp) IN('" . $year . "')";
}
if(isset($_POST['category']))
{
$category = implode("','", $_POST['category']);
$sql .= "AND category IN('" . $category . "')";
}
if(isset($_POST['num']))
{
$num = $_POST['num'];
$sql .= "AND (number LIKE '%" . $num . "%' ";
$sql .= "OR name LIKE '%" . $num . "%')";

}

$result = $conn->query($sql);
$output='';

if($result->num_rows>0)
{
while ($row=$result->fetch_assoc())
{
$output .='<tr>
<td>' . $row['timestamp'] . '</td>
<td>' . $row['number'] . '</td>
<td>' . $row['dname'] . '</td>
<td>' . $row['reaction'] . '</td>
<td>' . $row['et1320'] . '</td>
<td>' . $row['sp1320'] . '</td>
<td>' . $row['lane'] . '</td>
</tr>';
}
}
else
{
$output = "<h3>No times found!</h3>";
}

echo $output;
}
?>

最佳答案

https://uk.godaddy.com/community/GoCentral-Website-Builder/Too-many-POST-requests-via-AJAX-crashing-site/td-p/7119

“我遇到了同样的问题,40 个 POST 请求/分钟会导致我的网站锁定 1 分钟。在此处 (stackoverflow) 找到了类似的问题和解决方案。

解决方案:

GoDaddy 限制了可以发出的 POST 请求的数量,无论他们是否表示不这样做。就我而言,我需要为正在使用的作业使用正确的方法。在我的例子中,我使用 POST 访问一个 PHP 站点,然后该站点将获取信息并将其返回。我将 POST 请求更改为 GET 请求,问题就消失了。

仅在绝对必要时才使用 POST,GoDaddy 会限制。”

关于javascript - 使用 AJAX 实时搜索栏时出现“ERR_EMPTY_RESPONSE”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com