jquery - ajaxComplete,XMLHttpRequest 未定义

标签 jquery ajax jquery-1.9

我有一个全局 ajaxComplete 处理程序:

 $('body').ajaxComplete(function (event, request, settings) {           
        if (request.getResponseHeader('REQUIRES_AUTH') === '1') {
            alert("unauthorized");                
        };
    });

问题在于request始终处于未定义状态,仅填充event
你能解释一下为什么吗?

ajax请求示例:

$.ajax({
        cache: false,
        data: "GET",
        url: url,
        success: function (content) {           
            $('#modal').html(content);
            $('#modal').modal();           
        }
    });

更新: 来自 API 文档(感谢 Austin Mullins):
但是,从 jQuery 1.8 开始,.ajaxComplete() 方法只能附加到文档。

我已将代码更改为:

$(document).ajaxComplete(function (event, request, settings) {            
        if (request.getResponseHeader('REQUIRES_AUTH') === '1') {
            alert("unauthorized");               
        };
    });

但现在我收到错误:

TypeError: document.createDocumentFragment is not a function    
safeFrag = document.createDocumentFragment(); (jquery-1.9.0.js (line 5800))

浏览器是Firefox 19.0.2

解决方案: 问题出在 Jquery 1.9.0 版本中。我已经更新到1.9.1,错误消失了。感谢波阿斯。

最佳答案

根据您的编辑,您似乎正在使用 jQuery 1.9.0。有几个AJAX-related bugfixes in jQuery 1.9.1 。尝试使用最新的 jQuery 版本。

关于jquery - ajaxComplete,XMLHttpRequest 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15377108/

相关文章:

javascript - 渲染 Canvasjs 图表后更改 div 边框

Javascript : get HTML of remote web page

javascript - 在多个缓存的 DOM 元素上调用方法

javascript - 在我的自定义脚本之后 WooCommerce AJAX 重新加载页面

javascript - 如何将 window.location.href 中的网址作为参数传递

javascript - 如何使用 tinymce 的复选框按钮在运行时打开和关闭只读模式?

jQuery 1.9 不会在旧版 Firefox 中冒泡文件选择/更改事件

jquery:删除指针光标?

php - WordPress中的ajax不调用php函数

javascript - 在 JavaScript 中打开 json 文件