有条件地为jQuery Ajax调用添加选项

pho*_*tom 4 javascript ajax jquery jquery-plugins

我有以下工作Ajax调用 -

    $.ajax({
        url: ajaxUrl,
        type: sendHttpVerb,
        dataType: 'json',
        processData: false,
        contentType: 'application/json; charset=utf-8',
        complete: function () {
            setTimeout($.unblockUI, 2000);
        },
        success: function (response, status, xml) {
            clearTimeout(delayLoadingMsg);
            $.unblockUI();
            callbackFunction(response);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            clearTimeout(delayLoadingMsg);
            $.unblockUI();
            dcfForm.ajaxErrorDisplay(jqXHR, textStatus, errorThrown)
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的问题是我有条件地想在调用Ajax调用时添加一个选项.例如,data: sendRequest在我发出Ajax请求之前添加.

我的问题我找不到一个关于如何在不完全复制整个函数的情况下执行此操作的语法示例.

Joe*_*Joe 12

三元运作怎么样:

$.ajax({
     data: condition ? sendRequest : undefined,
     ... the rest
});
Run Code Online (Sandbox Code Playgroud)

如果这不是你的口味,有些人似乎忘了$ .ajax不需要一长串的参数,而是一个对象:

var ajax = {};
ajax.success = function (data) { ... };
ajax.type = 'GET';

if (myCondition) {
    ajax.data = sendRequest;
}

$.ajax(ajax);
Run Code Online (Sandbox Code Playgroud)