jquery - jQuery 无法在 ajax 调用中更新 DOM
问题描述
我有我的 ASP.NET Core 项目。在页面中 Web 应用程序从 Web API 读取数据。通常,数据很大:data.Rows
可能有 15000 行。我想将每一行添加到表中,但同时我想向用户提供进度状态。
$.ajax({
url: url,
data: 'filename=' + filename,
dataType: 'json'
})
.fail(function (err) {
alert(err);
})
.done(function (data) {
var dataLength = data.Rows.length;
$.each(data.Rows, function (index, obj) {
console.log('Reading ' + index + ' rows of ' + dataLength)
if ($('#progressbar').length)
$('#spanMessage').html('Reading ' + index + ' rows of ' + dataLength);
tbl += '<tr>';
var num = 0;
$.each(obj, function (_, text) {
tbl += '<td>' + text + '</td>';
num++;
});
if (num < data.Headers.length)
for (var i = 0; i < data.Headers.length - num; i++) {
tbl += '<td></td>';
}
tbl += "<td></td></tr>";
});
tbl += '</tbody>';
}
这是一个漫长的过程,用户界面不会改变。该过程完成后,我可以按预期看到表格。
如何定期更新 UI?
解决方案
推荐阅读
- r - 使用 Roxygen2 导出的函数是导出我的代码中的所有函数,而不是我想要的函数
- reactjs - React 说找不到指定的文件,我检查了目录和名称,一切似乎都很好
- aws-lambda - lambda create-event-source-mapping 成员不能为 null 异常
- sql - 基于产品、日期和位置级别的价格变化历史
- arrays - 迭代for循环列表中的两个输出字符串
- javascript - jQuery事件监听器粘着/级联?
- selenium - 如何为这个带有双引号的特定 web 元素编写 xpath?
- wordpress - WordPress 多语言网站
- javascript - 我需要滑块上的自定义范围,例如 1,2,3,4,5,10,15,20,25 ..... 我们能做到这一点吗?
- java - 在 Spring 中创建工人