回调是辅助方法

时间:2013-12-20 06:16:29

标签: jquery

我试图重构一堆相同的代码,只使用辅助方法作为回调

        $.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。

1 个答案:

答案 0 :(得分:3)

在成功函数本身内传递一个函数,而不是函数引用

 ...
  success: function(data, status, jqXHR){
    onSuccessShowResponseJSON(data, status, jqXHR, refundTransactionResponse);
 }
 ...