项目中有这样一个需求,使用ajax加载数据返回页面并赋值,然后前端取出该值
这其中涉及到代码的顺序问题,有时后台还未返回数据,但已执行后面代码,
所以就会造成取不到值
$.ajax({ type: "post", url: "admin/PfmOptionRuleItem.do", success: function(data){ $("#ruleItem").val(data.ruleItem); //① } }); return $("#ruleItem").val(); //②
如果①还未从后台返回数据 此时执行②就获取不到值
Ajax的第一个字母是asynchronous的开头字母,这意味着所有的操作都是并行的,完成的顺序没有前后关系。
$.ajax()的async参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。
如果把这个选项设置成false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。
虽然官方不建议这么干,只是不能用太多,否则会造成用户体验不佳
举个栗子
alert("setp 1"); $.ajax({ url: "admin/PfmOptionRuleItem.do", async: false, success: function(data){ alert("hello ajax"); //① } }); alert("setp 2"); //②
当把asyn设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,
他会等待在①这个地方,不会去向下执行②,直到①执行完毕
此时依次执行顺序为
setp 1
hello ajax
setp 2
如果async为true 则执行顺序为
setp 1
setp 2
hello ajax
关于本文给大家叙述的jQuery中的ajax async同步和异步,全部介绍完了,希望对大家有所帮助。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年09月23日
2024年09月23日
- 华少翌.2005-华少翌【中唱艺能】【WAV+CUE】
- 群星《十二女声Ⅱ》[WAV/CUE/分轨][527MB]
- 大自然音乐系列《漫步在山裡》[WAV/CUE/分轨][502.8MB]
- 大自然音乐系列《星光夜语》[WAV/CUE/分轨][453.3MB]
- 史依弘《史依弘交响乐京剧演唱专辑HQ》头版限量编号[WAV+CUE]
- 曼丽2020《女人三十风继续吹》HQCD[WAV+CUE]
- 曼丽2021《女人三十2雾之恋》HQCD[WAV+CUE]
- 隔壁老樊.2019-我曾【好听音乐】【FLAC分轨】
- 高林生.1993-牵挂你的人是我【白天鹅】【WAV+CUE】
- 洪卓立.2012-找个懂我的女孩(国专)【英皇娱乐】【WAV+CUE】
- 曼丽2022《女人三十3晚秋》HQCD[WAV+CUE]
- 曼丽2018《女人三十4冬天》HQCD[WAV+CUE]
- 柏菲-《好歌30年壹》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 大自然音乐系列《水舞》[WAV/CUE/分轨][424.3MB]
- 大自然音乐系列《星光夜语》[WAV/CUE/分轨][453.3MB]