2013-06-05 156 views
0

我正在使用knockoutjs并在我的项目中在不同的脚本文件中有多个ajax调用。 我想简化呼叫到一个实用脚本,我已经实现了以下内容:jQuery 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); 
); 

} 
} 

回调函数是没有得到调用。 帮我找出解决方案。

感谢, 拉胡尔Adwani

+0

你能分享多一点的代码,一个工作小提琴将不胜感激 –

+0

'success:$ .Callbacks.fire(result);'看起来你正在调用**这个回调,而不是**分配**,除非'.fire'真的返回一个函数。 –

+0

我将代码更改为: 成功:function(result){.0 .Callbacks.fire(result); } 仍然没有执行回调函数。 –

回答

0

您可以删除括号,如:

success: $.Callbacks.fire 

这相当于:

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

,但你不能设置一个指针函数与括号

+0

它可能不等同。在第一种情况下'this'可能指''.fire'内的'window',第二种情况下它会引用'$ .Callbacks'。根据代码的结构,这可能是一个问题或不是。 –

+0

我尝试了两种解决方案...没有输出.. –