php ajax返回文本长度限制8m,php - 如果需要很长时间返回,php ajax调用将不返回任何内容 - 堆栈内存溢出...

我有一个数据库,其中有1000多个庞大的数据,以后还会增加。

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

我的表格:

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 .= "

$output .= "";

$output .= "

Thead1Thead2Thead3";

$output .= "

";

$output .= "

";

$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.= "

";

$output.= "

".$data_from."";

$output.= "

".$data_sub."";

$output.= "

".$data_date."";

$output.= "

";

}

$output .= "

";

$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调用需要很长时间才能返回数据,则它根本不返回任何内容,例如根据搜索从数据库返回所有行需要花费一些时间。

在这种情况下,有人可以帮助我吗? 如何根据搜索结果显示所有结果?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值