我想在 javascript 中创建一个 API 系统(在单个对象内),所有这些都源于 jQuery 的 ajax 函数,但我希望能够像这样传递一个覆盖“成功”函数来触发:
function Eidos(){
this.api = function(data, success){
$.ajax({
type: 'POST',
url: '/api',
data: data,
success: function(rData){
return rData;
}
})
};
this.refreshInfo = function(id, success){
log.info('refreshed page id: '+ id);
return this.api({'command': 'refresh', 'pageid': id}, success);
}
};
在这个例子中,我只想“刷新”信息(拉入新的文本数据或你有什么)。我已经有一个服务器端页面设置。
我会这样调用它:
$('.refresh').click(function(){
$("#myModal").modal('show');
var id = $(this).data('ei');
var api = eidos.refreshInfo(id, function(){
$("#myModal").modal('hide');
});
return false;
});
显然这行不通(顺便说一句,该对象已经通过 var eidos = new Eidos(); 创建),但是,不知道如何实现它。我希望 success: 函数在不同的页面上有不同的行为,所以我需要一个覆盖,但我不确定如何在这里工作。
最佳答案
尝试改变
success: function(rData){
return rData;
}
到
success: success
您目前没有调用(甚至没有使用)success
参数。
关于javascript - 将函数作为参数传递给javascript中的另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12197830/