亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 1573 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號