看板 Ajax 關於我們 聯絡資訊
通常$.ajax這種會有動作要在success做的話我多都會多自帶一個callback function login(callback){ $.ajax({ 參數不寫了以下略, success:function(data){ if(typof(callback) !== "undefined"){ callback.call(this,data); // 會把資料丟給傳進來的callback函式 } } }); } 如此一來login如果要重複用但每次handler不同的話, 就可以這樣寫 login(handler1(data)); login(handler2(data)); 匿名函式也可以 login(function(data){ alert(data); }); 一個重點~ AJAX是asynchronized,所以你的success處理函式是要資料收到才會觸發, 你寫 alert($.ajax({success: function(r){return r}}); 因為alert被call的時候 ajax success根本資料都還沒來所以不會return任何東西, 相反的你若是把alert寫在success function裡,那就是資料到了才去處理那函式, alert這時才有值可以吐阿 觀念若有誤請指正 :) ※ 編輯: nightspirit 來自: 66.122.205.38 (02/08 05:03)
nenpow:原po有設async為false 02/08 13:44
sk1765:有了 async=false 只需要success function裡 re=r就好了 02/08 14:45
sk1765:先讓非同步改成同步 也是一個debug的方法 02/08 14:46