栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何让jquery在循环中的每个ajax调用后立即追加输出

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何让jquery在循环中的每个ajax调用后立即追加输出

如果您切换到

async: true
,则在添加数据时屏幕将能够更新。

$(document).ready(function() {    var cntr = 0;    // run 5 consecutive ajax calls    // when the first one finishes, run the second one and so on    function next() {        $.ajax({ async: true, url: 'server.php', success: function(r) {     console.log(r); //this works     $('#Data').append(r); //this happens all at once     ++cntr;     if (cntr < 5) {         next();     } }        });    }    next();});

如果您坚持使用

async:false
(通常太糟糕了),则可以
setTimeout()
在每个ajax调用之间放置一小段时间,并且屏幕将在超时期间更新。

还有一些黑客通过访问某些CSS属性“可能”导致屏幕更新(不保证),这些属性只能在HTML布局为最新时才计算,这可能导致浏览器显示最新更改。我之所以说“可能”,是因为这不是规范,而是对某些浏览器中行为的观察。您可以在此处阅读有关此选项的更多信息。

无论如何,由于您已经在使用ajax调用,因此解决此问题的最佳方法是使用

async:true
循环结构并将其更改为可用于异步ajax调用的结构(如我的示例所示)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号