处理所有 AJAX 调用的通用方法
Generic way to handle all AJAX calls
有没有办法检测所有AJAX调用(GET和POST)?我需要做一个通用的方式来在 AJAX 调用进程运行时显示加载div。类似于下面的代码:
$.ajax({
url: 'my/url',
type: "GET",
dataType: "json",
beforeSend: function() {
$('#loading').show();
},
success: function() {
$('#loading').hide();
// do some stuff...
}
相反,要调用每个 AJAX beforeSend()
和success()
行为(显示和隐藏加载div),我正在寻找一种通用方法来处理它。当我有一个 AJAX 调用时,我只做:
$.ajax({
url: 'my/url',
type: "GET",
dataType: "json",
success: function() {
// do some stuff...
}
当该beforeSend()
行为在此请求中是隐式时,对于success()
隐藏行为也是如此。你知道我该怎么对待这个东西吗?
谢谢大家!
是的,您可以使用.ajaxStart()
和.ajaxStop()
方法执行此操作,例如:
$(document).ready(function () {
$(document).ajaxStart(function () {
$('#loading').show();
}).ajaxStop(function () {
$('#loading').hide();
});
});
有趣的是
,我今天早上试图自己做这件事!
$('#loading').bind('ajaxSend', function() {
$(this).show();
}).bind('ajaxStop', function() {
$(this).hide();
}).bind('ajaxError', function() {
$this.hide();
});
显然,有很多不同的方法可以实现这一点,但我更喜欢将加载消息的可见性绑定到 AJAX 事件,而不是相反......
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- javascript从子方法调用父方法
- 我应该返回一个类似console.log()的方法调用吗
- NodeJS-从同一文件中的另一个方法调用一个方法
- 使用restangular save方法调用put与post时的控件
- 从实例方法调用实例方法
- Node.js-异步方法调用问题
- Jquery事件绑定获胜'当作为方法调用时不起作用,但当直接在控制台中调用时会起作用
- 向模板实例变量传递调用方法调用的结果时出现异常
- jQuery 方法调用了两次
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- 组合 onLayout 的方法调用
- lodash/下划线 - 使用绑定与方法调用和方法保持未绑定
- 从公共方法调用模块的私有函数
- 如何对 jqGrid 的 loadComplete 和 onSelectRow 进行基因预和后方法调用
- 完全限定的 JavaScript 方法调用
- 为什么我在 Angular JS 中收到两个方法调用
- 如何在从排序方法调用参数时将其传递给回调
- 使用两种不同的方法调用方法
- 如何在 javascript 中更改方法调用的全局范围