【发布时间】:2015-06-17 12:26:57
【问题描述】:
我正在为自己的目的进行一个实验项目,但我被困在我获取数据的部分。
我正在寻找某种方式/函数,例如 PHP 中用于 javascript 的 flush() 函数,因为我正在从 MySQL 数据库中获取大约 1000 条记录并通过 JSON 对其进行解析。在没有向用户显示一些反馈的情况下需要一段时间,页面会持续加载一段时间,然后所有内容都会立即弹出,这是我的浏览器必须同时处理的大量图像。
我正在寻找可以转储已经获取的数据并将其发送到我的函数的东西。
我有一个迭代,以 100 为增量循环 maxResults 并进行 ajax 调用
for(var record = 0; record < maxResults; record+=countPage){
$.ajax({
type: "POST",
url: "json_GetImages.php?limit="+countPage+"&rows="+record,
contentType: "application/json; charset=utf-8",
global: false,
....
for (var i = 1; i < jsonObj.data.length; i++) {
var box = document.createElement('div'); //Define new box
var size = Math.floor((Math.random()*3)+1);
....
functionMakeDiv(jsonObj.data[i].sTitle);
....
在 javascript/jquery 中是否有类似刷新/转储函数的东西,我可以将其放置在两个迭代中? 还是我在这里工作完全没有效率?
我已经尝试使用 for each,但结果相同。
使用 php,您只需在迭代中放置一个 flush()/ob_flush(),它会返回当前的迭代数据(转储缓冲区)(我记得什么?)
提前谢谢你,我希望你们能理解我在这里解释的内容:)
【问题讨论】:
-
据我所知,没有办法按照您的想法进行操作,您可以将工作卸载到服务器,然后从服务器传递 html。看看你在做什么,我会诚实地使用 angularjs,这样你就可以远离 dom 操作。
-
我可以通过 PHP '回显' div,可能会工作,但是我初始化的插件来订购和调整这些 div 的大小,不能正常工作吗?不过我可以试试,让服务器处理一切
标签: javascript jquery json iteration progress