gpt4 book ai didi

如果需要很长时间才能返回,php ajax 调用不会返回任何内容

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

我有一个数据库,里面有1000多个数据,以后还会增加。

我在表格中显示了其中一些数据。有一个搜索框,我使用它根据搜索框使用 ajax 调用将数据从数据库加载到该表中。

我的表格:

<form class="form-search" role="search" action="#" >
<div class="form-group">
<input type="text" class="form-control" id="eml_search" placeholder="Search " name="eml_search">
<input type="submit" name="btn-search-email" id="btn-search-email" value="" style="display: none;" />
</div>
</form>

jQuery Ajax:

$(document).ready(function () {
$('form.form-search').on('submit', function(e) {
e.preventDefault();
var eml_search_txt = $("#eml_search").val();
url = "ajax_search.php";

$.ajax({
url: url,
type: "GET",
data : {
eml_search_txt: eml_search_txt
},
dataType: "json"
}).done(function (data) {
console.log("Dhukse: " );
$("#eml-body table").remove();
console.log("TExt get: " + data.getext);
console.log(data.mail_list);
$("#eml-body").html(data.search_list);

});
});
});

ajax_search.php:

include("connect.php");
$eml_search_txt = $_GET['eml_search_txt'];


$output = "";

$output .= "<table class='table table-striped table-inbox eml-overview' >";
$output .= "<thead>";
$output .= "<tr><th>Thead1</th><th>Thead2</th><th>Thead3</th></tr>";
$output .= "</thead>";
$output .= "<tbody>";


$search_query = "SELECT * FROM table_data WHERE data_from LIKE '%".$eml_search_txt."%' OR
data_sub LIKE '%".$eml_search_txt."%' ORDER BY data_date DESC LIMIT 9 ";
$search_sql = mysqli_query($conn, $search_query);

while($row = mysqli_fetch_assoc($search_sql)) {
$data_date = date("Y-m-d", strtotime($row['data_date']));
$uid = $row['uid'];
$data_from = $row['data_from'];
$data_sub = $row['data_sub'];

$output.= "<tr>";
$output.= "<td>".$data_from."</td>";
$output.= "<td>".$data_sub."</td>";
$output.= "<td>".$data_date."</td>";

$output.= "</tr>";

}

$output .= "</tbody></table>";

$json='{"search_list":"'.$output.'", "getext":"'.$eml_search_txt.'"}';
print $json;

如果我限制返回最多 9 行,则对 php 文件的 ajax 调用可以正常工作,如下所示:

SELECT * FROM table_data WHERE data_from LIKE '%".$eml_search_txt."%' OR 
data_sub LIKE '%".$eml_search_txt."%' ORDER BY data_date DESC LIMIT 9

但是如果想根据搜索框返回所有行或超过9行它没有返回给我任何东西。

据我了解,如果ajax调用需要很长时间才能返回数据,那么它根本不返回任何内容,例如根据搜索从数据库返回所有行需要一些时间。

在这种情况下有人可以帮助我吗?我怎样才能根据搜索得到所有显示的结果?

最佳答案

您需要优化BD,例如在字段data_from、data_sub、data_date上添加索引。但很奇怪的是,这个 select 调用需要很长时间。

并且您可以将_time_limit 设置为更大的值。

关于如果需要很长时间才能返回,php ajax 调用不会返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52602667/

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