如何检查jQueryAJAX请求的成功结果,并在插入内容之前中止jQuery.load()
How to inspect the successful result of a jQuery AJAX request and abort the jQuery.load() before it inserts the content?
我正在使用jQuery.load()
方法发出AJAX请求,并在页面中插入一些内容。
我希望能够添加某种全局处理程序,它将检查我的成功AJAX请求的结果,然后根据返回的数据选择性地调用全局错误处理程序。
我已经能够为"正常"jQuery.get()
请求实现这一点,方法是使用$.ajaxPrefilter()
用检查请求的方法覆盖所提供的"成功"方法。(在此StackOverflow答案中找到:https://stackoverflow.com/a/6373965)
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
var originalSuccess = options.success;
options.success = function (data) {
if(hasErrors(data)) {
//forward to error event handler or redirect to login page for example
}
else {
if (originalSuccess != null) {
originalSuccess(data);
}
}
};
});
我的问题是,这个方法不适用于从jQuery.load()
方法激发的AJAX请求。我查看了jQuery的源代码,它正在这样做:
jQuery.ajax({ .. })
.done(function(responseText) {
// Inserts HTML into DOM.
})
.complete(callback);
是否有任何方法可以检查成功.ajax()
方法的结果,并防止触发延迟的.done()
函数?
理想情况下,我希望能在上面的.ajaxPrefilter()
方法中插入一个解决方案,这样整个站点的这种行为都是全局的。
在服务器端代码中,您应该能够显示成功响应或传递的数据。您可以使用firebug控制台(用于firefox)来显示ajax结果。或者,您可以使用chrome开发工具。在控制台中,只需右键单击LogXMLHttpRequests即可激活它
firebug和chrome开发工具的网络检查器也在XHR选项卡中显示Ajax响应
相关文章:
- 如何动态插入jquery代码
- 换行符插入jquery选择器
- 将方法插入jQuery插件
- 在另一个脚本后插入Jquery
- 我应该如何在提交操作之前插入jQuery代码
- 创建 var 并将其插入 jQuery Child Selector(“父>子”)
- 如何在页脚中插入 jQuery 时定义变量
- 阻止第三方JavaScript插入jQuery
- 如何将HTML文本插入jQuery
- 如何将PHP插入jQuery
- 通过PHP在MySQL中插入Jquery
- 如何在PHP代码中插入jQuery插件?
- 在DOM中插入jQuery验证代码
- 使用userscript在header中插入jQuery和jQuery UI
- 在对象id:中插入jquery字符串
- 在表模板中插入jQuery输入
- Jquery插入Jquery属性
- 在带有事件的另一个浏览器选项卡中插入jQuery对象
- 如何在php数组中插入jquery值
- 难以将变量插入jquery属性标识