Обратный вызов успеха jQuery AJAX

Я использую Knockoutjs и имею несколько вызовов ajax в своем проекте в разных файлах сценариев. Я хочу упростить вызовы в один служебный скрипт, и я реализовал следующее:

Файл сценария А:

function ABC(){
function myCallbackFunction(result){
///
}
$Callbacks.add(myCallbackFunction);

var UtilityObj = new ClsUtility();
UtilityObj .GetData(myJSONObj);
}

Script File B:
function ClsUtility(){
function GetData(myJSONObj){
$.ajax(
////
success: $.Callbacks.fire(result);
);

}
}

Функция обратного вызова не вызывается. Помогите найти решение.

Спасибо, Рахул Адвани.


person Rahul Adwani    schedule 05.06.2013    source источник
comment
можете ли вы поделиться еще немного кода, рабочая скрипка будет оценена   -  person Rohit Agrawal    schedule 05.06.2013
comment
success: $.Callbacks.fire(result); похоже, что в этот момент вы вызываете обратные вызовы, а не назначаете их, если только .fire действительно не возвращает функцию.   -  person Felix Kling    schedule 05.06.2013
comment
Я изменил код, чтобы он выглядел так: успех: функция (результат) { $.Callbacks.fire(результат); } по-прежнему функция обратного вызова не выполняется.   -  person Rahul Adwani    schedule 05.06.2013


Ответы (1)


Вы можете удалить круглые скобки, например:

success: $.Callbacks.fire

это эквивалентно:

success: function(result){
    $.Callbacks.fire(result);
}

но вы не можете установить функцию указателя с круглыми скобками

person Patrick Portal    schedule 05.06.2013
comment
Это может быть не эквивалентно. В первом случае this, вероятно, относится к window внутри .fire, во втором — к $.Callbacks. В зависимости от того, как структурирован код, это может быть проблемой или нет. - person Felix Kling; 05.06.2013