gpt4 book ai didi

javascript - 如何更快地加载通过ajax获取的数据?

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

目前,数据是作为数组形式的 PHP 脚本获取的。所以我发现加载 40 组数据大约需要 20 秒。我想这是因为 ajax 必须等到所有结果收集完毕。如果数据集增加到数百个,我认为播种速度会慢很多。

所以我做了一些关于如何减少加载时间从而遇到并行 ajax 请求的研究。我认为这对多个请求会有帮助。对于单个请求但获取了成百上千的数据,有没有办法提高速度?

JS:

$(function() {
$.ajax({
dataType: "json",
url: 'showAllTutor.php',
success: function(data) {
console.log(data.length);
var j=0;
for (i = 0; i < data.length; i++) {
j++;
console.log(data[i].name);
}
}
});
});

PHP:

 $sql="SELECT * FROM userinfo,posts WHERE userinfo.UUID = posts.UUID AND posts.p_id > '$last_msg_id'";
$stmt =connection::$pdo->prepare($sql);
$stmt->execute();
$json=array();

while($row = $stmt->fetch()) {
$total = $row['reviewPlus']+ $row['reviewNeg'];
array_push($json,array("name"=>$row['name'],"subject"=>$row['subname'],"subid"=>$row['subID'],"rate"=>$row['pricing'],"dateposted"=>$row['datePosted'],"location"=>$row['location'],"contact"=>$row['phone'],"morning"=>$row['morning'],"afternoon"=>$row['afternoon'],"evening"=>$row['evening'],"postId"=>$row['p_id'],"total"=>$total,"plus"=>$row['reviewPlus'],"user"=>$row['UUID']));
}
}
echo json_encode($json);

最佳答案

加载时间可能是因为代码中有多个循环,while 在 php 中循环和 for 在 jquery 中循环会增加执行时间,

我建议您避免在 php 代码中使用 while 循环使用 fetchAll 语句收集所有数据

$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);

并在你的 jquery for 循环中进行你的 $total 计算,

这可能会有所帮助,祝您编码愉快。

关于javascript - 如何更快地加载通过ajax获取的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32459350/

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