2014-02-25 123 views
0

我試圖讓代碼可重用,這是我在一個對象學習oop練習包裝代碼,如何傳遞數據responsehandleErros()但我得到console.log響應undefined?任何建議如何解決?每個函數之間傳遞參數

Core.init(); 

var Core = function() { 

    handleErrors = function(response) { 
     var Errors = response.Errors; 
     // console.log('length'+Errors.length); 

     var i; 
     for (i = 0; i < Errors.length; ++i) { 
      var Error = '<div>'+Errors[i]+'</div>'; 
      $('.ajax-error-panel').append(Error); 
     } 
     $('.ajax-error-panel').show(); 
    }; 

    ajaxpost = function() { 
     ... ajax... 
     .done(function(response){ 
      handleErrors(response); 
     }); 
    }; 

    ... 

    return { 
     handleErrors(response); 
     ajaxpost(); 
    } 

}(); 
+0

嘗試與self.handleError(響應) –

+0

顯示無法找到變量:線返回{handleErros ... – user1775888

+0

只返回'ajaxpost();'。 – Jai

回答

1

改變這一點:

return { 
    handleErrors(response); 
    ajaxpost(); 
} 

這樣:

return { 
    ajaxpost(); 
} 

因爲AJAX是異步的,在那個時候,當你返回handleErrors(response);反應是不確定的,因爲這沒有任何東西。