博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取的ajax方法return的返回值的问题解析
阅读量:6847 次
发布时间:2019-06-26

本文共 1529 字,大约阅读时间需要 5 分钟。

今天刚上班就偶遇关于获取Ajax方法return的返回值的问题,这里小记一下。

在使用jquery中,如果获取不到ajax返回值,原因有二:

一、ajax未使用同步

  ajax未使用同步,导致数据未加载完,再return的话,最后只会获得一个"undefined"的结果。

二、在ajax方法中直接return返回值

下面列举三种写法,,如果想要成功获取到返回值,可以参考第三种写法:

1 /** 2  * 方式:(1)同步调用 (2)在ajax函数中return值 3  * 结果:返回 1。未成功获取返回值 4  * 失败原因:ajax内部是一个或多个定义的函数,ajax中return返回值, 5  * 返回到ajax定义函数,而不是返回到ajax外层的函数checkAccount1() 6  */ 7 function checkAccount1(){ 8     var result = 1; 9     $.ajax({10         url : 'test.do',11         type : "post",12         data : {},13         async : true,14         success : function(data) {15             return 2;16         }17     });18     return result;19 }20  21 /**22  * (1)异步调用 (2)在ajax对全局变量进行设值 (3)ajax函数外将变量return23  * 结果:返回 1。未成功获取返回值24  * 失败原因:ajax请求和后面的return result语句异步执行,25  * 导致return result比result = 2先执行并返回result的值26  */27 function checkAccount2(){28     var result = 1;29     $.ajax({30         url : 'test.do',31         type : "post",32         data : {},33         async : true,34         success : function(data) {35             result = 2;36         }37     });38     return result;39 }40  41 /**42  * (1)同步调用 (2)且在ajax对全局变量进行设值 (3)ajax函数外将变量return43  * 结果:返回 2。成功获取返回值44  * 成功原因:先执行result = 2;再往下执行return result;45  */46 function checkAccount3(){47     var result = 1;48     $.ajax({49         url : 'test.do',50         type : "post",51         data : {},52         async : false,53         success : function(data) {54             result = 2;55         }56     });57     return result;58 }

 

转载于:https://www.cnblogs.com/mYunYu/p/10212405.html

你可能感兴趣的文章
PHP面试常考内容之面向对象(2)
查看>>
以太坊---「地址、密码、私钥、助记词、Keystore 」那些事
查看>>
学习 PixiJS — 碰撞检测
查看>>
219. Contains Duplicate II
查看>>
如何解决微信端直接跳WAP端
查看>>
阿里云移动端播放器高级功能---安全播放
查看>>
JS的二进制操作
查看>>
我是如何设计 Upload 上传组件的
查看>>
2018年总结&2019年规划
查看>>
Spring校验@RequestParams和@PathVariables参数
查看>>
ES6箭头函数
查看>>
CentOS7网卡配置
查看>>
使用systemd来构建你的服务
查看>>
274. H-Index
查看>>
前嗅ForeSpider教程:同一个网站中从另一页面采集数据
查看>>
iterator_traits获取迭代器类型
查看>>
小程序页面之间的通讯利器 - nsevent
查看>>
JavaScript从初级往高级走系列————ES6
查看>>
Vue项目Webpack优化实践,构建效率提高50%
查看>>
mysql命令集
查看>>