ajaxComplete,XMLHttpRequest未定义

时间:2013-03-13 04:29:50

标签: 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,错误消失了。感谢波阿斯。

1 个答案:

答案 0 :(得分:2)

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