为了账号安全,请及时绑定邮箱和手机立即绑定

jquery 返回值的问题

jquery 返回值的问题

spaces 2015-10-05 21:50:50
<script type="text/javascript">     $('#tab-1').click(function(){         var data = Ajaxs("test.php");         alert(data);     });     function Ajaxs($url,$urlType="get",$data=''){         $.ajax({             type: $urlType,             url: $url,             data:$data,             beforeSend: function(){             },             success: function(data){                 alert(data);                 return data;             },             error: function(){                 alert('请求失败');             }         });     } </script>为什么 success :alert(data)可以将ajax返回的结果打印出来,而return  data 会返回  undefined
查看完整描述

1 回答

已采纳
?
pardon110

TA贡献1038条经验 获得超227个赞

success中的funtion(data)中的data是个类似形参的返回数据,alert方法是个全局方法,所以你用alert()可以打印出来。而使用return出现undefined,你可以简单理解为js每使用一个函数都会形成一个作用域。要想将内层的值return(返回)到最外层,很显然需要层层接力,即每一层将值return到上一层。直白点,就是你的Ajaxs()方法未返回data值,所以出现undefined.

查看完整回答
反对 回复 2015-10-06
  • spaces
    spaces
    非常感谢,在Ajaxs函数中修改成 var datas = $.ajax(....); return datas; 结果返回的是Object ?? 我success返回的是json数据
  • 1 回答
  • 0 关注
  • 1531 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信