下面我试图在页面加载时发送一个ajax请求,以获得给定表中productID和productName的结果。大约有50k行需要被拉出,由于在服务器端(php)上组织和处理数组,我遇到了一些时间延迟问题。查看下面的代码,我能够在控制台上毫无问题地显示前10k行,但是当我查询整个表的所有结果时,控制台返回一个空白对象,对此有任何可能的解决方案吗?
function loadProducts() {
jQuery.ajax({
type: "POST",
data:{'x':'x' },
url: 'performanceHelper/loadProductList.php',
dataType: 'text',
success: function (result, textstatus) {
//Removing reference in Firebase
console.log(result);
}
});
}
window.onload = loadProducts();
PHP代码require_once("../connect.php");
$sql = "SELECT productID, productDesc FROM products";
$temp = $dbh->query($sql);
$results = $temp->fetchAll();
echo json_encode($results);
就像@RiggsFolly在评论中提到的,你到底想用浏览器中的50000个项目做什么????
然而,如果你必须,因为你可以得到10k没有任何问题,就像你提到的,我建议你尝试分页…创建一个函数,通过发送start
和limit
作为参数来获取项目。
这样,你不必一次发送5万项,但你仍然可以得到你的数据。