Javascript 模块模式,ajax 函数回调

标签 javascript jquery

var ajaxStuff = (function () {

    var doAjaxStuff = function() {
      //an ajax call
    }

    return {
       doAjaxStuff : doAjaxStuff 
    }

})();

有什么方法可以利用这种模式,并在调用我的方法时从成功的 ajaxcall 中获取响应?像这样:

ajaxStuff.doAjaxStuff(successHandler(data){
    //data should contain the object fetched by ajax
});

希望你明白了,否则我会详细说明。

最佳答案

两件事: 1.给doAjaxStuff函数增加一个参数。 2.调用doAjaxStuff时,传入一个匿名函数(或函数名)

var ajaxSuff = (function () {

var doAjaxStuff = function(callback) {
   // do ajax call, then:
   callback(dataFromAjaxCall);
}

return {
   doAjaxStuff : doAjaxStuff 
}

})();

// calling it:

ajaxStuff.doAjaxStuff(function(data){
    //data should contain the object fetched by ajax
});

关于Javascript 模块模式,ajax 函数回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490368/

相关文章:

javascript - jQuery 严重计算元素的高度

javascript - 获取对没有 ID 或名称的表单的引用

javascript - 不使用 "Id"但使用 "name"获取选定的 radio

javascript - useEffect中数据初始化触发多个请求

javascript - 使用 setInterval 函数定位 div

javascript - 如何运行新的window.open并自动添加Ctrl键?

Jquery 加载脚本标签

javascript - 显示加载叠加层,直到加载 $http get 图像

javascript - 禁用 JavaScript 的 Selenium WebDriver 测试

javascript - 如何使用表单发出带有 header 信息的 get 请求