7

我有一个全局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 并且错误消失了。感谢波阿斯。

4

1 回答 1

2

在您进行编辑之后,您似乎正在使用jQuery 1.9.0. 有几个与 AJAX 相关的错误修正jQuery 1.9.1。尝试使用最新的 jQuery 版本。

于 2013-03-13T06:05:12.177 回答