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

做一会儿javascript问题

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

做一会儿javascript问题

由于AJAX的异步特性,当您的成功函数针对任何产生的AJAX请求运行时,循环已完成并将

initval
其设置为5。您需要捕获
initval
每个请求开始时的状态并使用捕获的状态
success()
方法中的状态。关闭值是最简单的方法:

function action() {    var initval = 1;    var endval = 5;    do {        var action_string = 'txtuser=someone';        ( function( captured_initval ){ $.ajax({     type: "POST",     url: "http://localhost/js.php",     data: action_string,     success: function(result){         $('div#append_result').append(captured_initval + ',<br/>');     }   });        }( initval ) );        initval++;    } while (initval <= endval);}

但是,请理解,一个或多个请求可能会挂在服务器上,从而使后一个请求先完成,这可能会导致

1, 2, 5, 3, 4
类似的结果。

同样,使用元素的ID比使用元素标签名称为哈希选择器添加前缀要快得多。另外,每次成功运行时,都应避免为结果DIV重新查询DOM。抓住一次并在需要时使用:

function action() {    var initval = 1;    var endval = 5;    do {        var action_string = 'txtuser=someone', $AppendResult = $('#append_result');        ( function( captured_initval ){ $.ajax({     type: "POST",     url: "http://localhost/js.php",     data: action_string,     success: function(result){         $AppendResult.append(captured_initval + ',<br/>');     }   });        }( initval ) );        initval++;    } while (initval <= endval);}


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

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

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