正常情况:
function a() { return true; } function b() { var ret = a(); alert(ret); }
异常情况:
function a() { $.ajax({ url:'www.baidu.com', data: {}, method:'post', dataType:'json', success:function(data){ return true; }, error: function (data) { return false; } }); } function b() { var ret = a(); alert(ret); }
由于使用ajax进行异步请求,导致函数调用a函数,不等ajax执行完,就执行alert,导致无法获取a函数的输出,输出报错。
修改方法:
function a() { $.ajax({ url:'www.baidu.com', data: {}, method:'post', dataType:'json', async:false, success:function(data){ return true; }, error: function (data) { return false; } }); } function b() { var ret = a(); alert(ret); }
关闭ajax的异步请求为同步即可。
如对本文有疑问, 点击进行留言回复!!
【JavaScript笔记(一)】万丈高楼平地起 - 基本概念篇
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
vert实践五——Json?Protocol Buffer?FlatBuffers?
[基于tensorflow的人脸检测] 基于神经网络的人脸检测8——验证训练好的神经网络
网友评论