我在我的项目中经常使用jQuery.post,每次浏览器发送一个post请求时,我想在请求进行过程中显示预加载器,然后在我从服务器获得回复时停止预加载器:
var params = {'action':'get_customer_info', 'customerID':4};
preloader.start();
$.post('ajax/url', params, function(response){
preloader.stop();
responseHandler(response);
});
每次调用jQuery的帖子时,我都不想添加preloader.start()和preloader.stop()行,而是想在jQuery.post之前绑定/触发事件以及成功/失败处理程序。
我知道如何绑定和触发事件,但我不确定如何使用$ .post和处理程序执行此操作。
我该怎么做?
答案 0 :(得分:2)
您可以设置全局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);
});