使用jQuery Ajax添加加载和错误文本
Adding in loading and error text with jQuery Ajax
我想知道如何容易是扩展这段代码,使它显示一个错误,如果它不能连接,而它正在连接它显示加载文本或加载图像。在ajax驱动的网站上,这似乎是相当标准的行为,但我还没有在网上找到很多关于如何实现它的有用信息。
$(document).ready(function () {
var loadUrl = 'http://sheldonbrown.com/web_sample1.html';
$("#close").click(function () {
$("#country_slide").hide();
});
$("#country").click(function () {
$("#country_slide").show();
$("#country_slide").html(ajax_load).load(loadUrl);
});
});
根据应用程序的上下文,您可以订阅回调以触发某些全局 AJAX事件。例如,每当AJAX调用开始时,或者AJAX调用抛出错误时。
$(document)
.ajaxStart(function (e) {
$('body').showMyAwesomeLoadingGIF();
})
.ajaxComplete(function (e) {
$('body').hideMyAwesomeLoadingGIF();
});
这将导致这两个回调函数在适当的生命周期事件中触发文档中的每个AJAX调用。
如果出于某种原因,您希望某个AJAX调用而不是触发全局AJAX事件处理程序,您可以指定该特定AJAX调用为而不是全局。
$.ajax({
global : false,
// blah
})
关于全局AJAX事件处理的更多信息请点击这里。
编辑
如果您想要保持更细粒度的控制,有$.ajaxSetup()
,但由于jQuery本身不鼓励使用它,我认为您可能不得不设计自己的解决方案。
就我个人而言,如果您希望重复执行自定义选项值,我会使用带闭包的包装器函数来设置自定义选项值。
var ajax = (function () {
var defaults = { };
return function (opts) {
opts = $.extend({}, defaults, opts);
// place what you want to happen when an AJAX call starts here
return $.ajax(opts)
// place corresponding events here
.done(function (m) {
})
.fail(function (x,s,e) {
})
.complete(function (m) {
});
};
}());
// then use that in your code like how you'd use $.ajax():
ajax({
url : 'http://my.domain.com/api/users',
type : 'GET'
}).done(function (m) {
console.log('Done GET users.');
});
// ... and you can be sure that it has default options and default event handlers,
// while being able to add on to them if you wish.
相关文章:
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Internet Explorer中的文本换行错误
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 使用.format在一些HTML代码中插入文本,会出现错误(Python)
- 在动态crm 2011中,右键单击已完成活动的只读文本时,您是否出现错误
- 在浏览器中打开文本文件-服务器上出现错误
- 使用SeleniumWebdriver将文本复制到文件时出现编译错误的解决方案
- Ajax文本区域保存错误
- 有人能发现我的错误吗(自动完成文本框)
- 使用javascript函数检索隐藏的文本值时出现对象HTMLinputElement错误
- 隐藏错误消息“;未选择文件”;asp:fileUpload的文本
- 更改错误文本“用户 ID 或密码不正确”
- 如果在小型设备上,请将 iframe 替换为错误文本
- ASP.NET Ajax - 失败 - 获取错误文本
- 如何从电子邮件格式检查器代码中删除错误文本
- 如何隐藏验证器's的错误文本
- 使用jQuery Ajax添加加载和错误文本
- 将验证错误文本放在输入字段下面
- 未捕获的类型错误:文本.Select不是一个函数
- 材料-UI 文本字段错误文本未显示,当我使用 Object.assign 设置状态时