我试图重构一堆相同的代码,只使用辅助方法作为回调
$.ajax({
cache: false,
type: "POST",
url: "someUrlHere",
contentType: "application/json; charset=UTF-8",
dataType: "json",
data: JSON.stringify(refundRequest),
success: onSuccessShowResponseJSON(data, status, jqXHR, refundTransactionResponse)
});
function onSuccessShowResponseJSON(data, status, jqXHR, showResponseDOMElement)
{
$('# ' + showResponseDOMElement).show().html(prettifyObject(data), null, '\t');
}
显然这不起作用,它说它现在没有数据是错误的。通常你只是说出回调方法名称(是的,我知道),但是我试图在这种情况下发送一个额外的项目,我想在我的帮手中使用的refundTransactionResponse。
答案 0 :(得分:3)
在成功函数本身内传递一个函数,而不是函数引用
...
success: function(data, status, jqXHR){
onSuccessShowResponseJSON(data, status, jqXHR, refundTransactionResponse);
}
...