javascript - 将事件绑定(bind)到 jQuery.post 和回调

标签 javascript jquery events

我在我的项目中经常使用 jQuery.post ,每次浏览器发送 post 请求时,我想在请求处理过程中显示预加载器,然后在收到服务器回复时停止预加载器:

var params = {'action':'get_customer_info', 'customerID':4};

preloader.start();
$.post('ajax/url', params, function(response){
    preloader.stop();

    responseHandler(response);
});

我不想每次调用 jQuery 的 post 时都添加 preloader.start() 和 preloader.stop() 行,而是想在 jQuery.post 之前以及成功/失败处理程序上绑定(bind)/触发事件。

我通常知道如何绑定(bind)和触发事件,但我不确定如何使用 $.post 和处理程序来做到这一点。

我该怎么做?

最佳答案

您可以设置全局 ajax 事件,这样预加载器就会在每个 ajax 请求上显示

$(document).ajaxSend(function() {
    preloader.start();
}).ajaxComplete(function() {
    preloader.stop();
});

或者您可以创建自己的 post 函数

function post(url, params) {
    preloader.start();
    return $.post('ajax/url', params, function(response){
        preloader.stop();
    });
}

像这样使用

post('ajax/url', params).done(function(response) {
    responseHandler(response);
});

关于javascript - 将事件绑定(bind)到 jQuery.post 和回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40573809/

相关文章:

javascript - 鼠标悬停事件委托(delegate)

javascript - 为什么我们不在 window.onload 中使用 () ?

javascript - 了解创建模块化应用程序的 riot.js 特性

javascript - 如何设计带有内部 float 的 div 以水平扩展以允许所有内部 float div 适合?

javascript - KnockoutJS IF 绑定(bind) - 保留 DOM

javascript - 将事件附加到文档,这取决于 React 中有条件呈现的元素

javascript - 跨域获取CSV文件

JavaScript 查询字符串

javascript - 如何在切换类中显示不同的工具提示文本

events - 具有重叠元素的组的 SVG onmouseover 出现两次