我正在尝试使代码可重用,这是我在对象学习oop中练习包装代码,如何将数据response
传递给handleErros()
但是我得到console.log响应未定义?任何建议如何解决?
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 :(得分:1)
改变这个:
return {
handleErrors(response);
ajaxpost();
}
到此:
return {
ajaxpost();
}
因为ajax是异步的,当时,当你返回handleErrors(response);
时,响应是未定义的,因为它没有任何东西。