【发布时间】:2016-10-02 19:51:00
【问题描述】:
下面我尝试在页面加载时发送 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);
【问题讨论】:
-
可能是与控制台缓冲区显示大小有关的问题..您使用哪种浏览器?
-
你到底要如何处理浏览器中的 50,000 个项目,而不是向用户展示它们?
-
我怀疑它只是缺少足够的内存供
$results = $temp->fetchAll();使用,因此以 500 错误结束。 -
有 50000 种产品,用户可以选择每种产品以获取更多详细信息,我想我会选择 @AceKYD 分页答案,如果有人有任何其他的解决方法值得赞赏
-
@cFreed 我尝试在我的 php ini 配置中增加内存限制
标签: php sql-server ajax