[ js ] 有關 function return string的問題

看板Ajax作者 (reverse(wasefo);)時間14年前 (2010/05/08 13:44), 編輯推噓0(0014)
留言14則, 3人參與, 最新討論串1/3 (看更多)
$(document).ready(function(){ ... function accountCheck(a){ if( a.length < 3 ) return 'short'; if( a.length > 11) return 'long'; $.post('fetch.php', { "type":"ncuaccount", "email": 'someemail' , "week": '30'} , function(data){ alert(data);return data; } ); } 綠色的可以回傳資料 可是在下面我alert result時 卻是undefined or 空字串 這會是因為.post要等 然後 function accoutnCheck(a) 等不及就return的關係嗎? $('#register_submit').click(function(){ var acc = $('#register_account').val(); var result = ""; result = accountCheck( acc ); alert(result); ... }); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.77.187

05/08 16:26, , 1F
ajax就是非同步啊....
05/08 16:26, 1F

05/08 22:24, , 2F
你用匿名函式return給jQuery的post方法他要回傳什麼?
05/08 22:24, 2F

05/08 22:25, , 3F
var一個外部(靜態)變數取存資料吧
05/08 22:25, 3F

05/08 22:25, , 4F
TO:1F,樓主的問題和非同步沒有關係.....
05/08 22:25, 4F

05/08 22:29, , 5F
function accountCheck(a){
05/08 22:29, 5F

05/08 22:29, , 6F
if( a.length < 3 ) return 'short';
05/08 22:29, 6F

05/08 22:29, , 7F
if( a.length > 11) return 'long';
05/08 22:29, 7F

05/08 22:29, , 8F
var return_data;
05/08 22:29, 8F

05/08 22:29, , 9F
$.post('fetch.php', { "type":"ncuaccount", "email":
05/08 22:29, 9F

05/08 22:30, , 10F
'someemail', "week": '30'}
05/08 22:30, 10F

05/08 22:30, , 11F
, function(data){ alert(data);return_data=data;});
05/08 22:30, 11F

05/08 22:31, , 12F
return return_data;}
05/08 22:31, 12F

05/09 17:26, , 13F
我有用一個外部存過 好像也是GG 我在$.post上有令個var r;
05/09 17:26, 13F

05/09 17:26, , 14F
後來也是UNDEFINED
05/09 17:26, 14F
文章代碼(AID): #1BvFfQwR (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1BvFfQwR (Ajax)