跟踪页面上的Ajax请求

时间:2010-06-30 09:09:40

标签: javascript ajax javascript-events jquery

我有一个网页,我正在将一个注释与存储在我的数据库中的页面相关联,这样下次加载页面的时候可以看到通知,直到它被其他授权的用户删除相同。但是,假设在通过AJAX加载某些内容后,我将注释与页面关联起来。我希望只有在下次在网页上加载特定内容后才能显示该注释。我想跟踪AJAX请求并附上注释吗?我想通过放在任何网页底部的简单JavaScript代码来完成所有操作。怎么办呢?

2 个答案:

答案 0 :(得分:3)

jQuery ajax提供了在ajax请求之前,期间和之后触发事件的方法。请查看api here以获取完整列表。

以下是在完成每个ajax请求后调用的几种方法。

jQuery.ajaxComplete() - 注册在Ajax请求完成时调用的处理程序。

jQuery.ajaxSuccess() - 在Ajax请求成功完成时显示消息

这些函数允许您将事件发生后的回调函数传递给触发器。在该回叫功能中,检查是否加载了您想要的内容,然后显示说明。

上述方法的示例代码可在此处找到:

http://api.jquery.com/ajaxComplete/

http://api.jquery.com/category/ajax/

希望这有帮助。

答案 1 :(得分:0)

您需要为所有ajax调用编写一个包装器,以检查结果并查看是否应添加注释。这是一个例子,假设你使用jQuery来处理ajax请求:

function ajaxWrapper(settings){

    var old_callback = settings.complete;

    settings.complete = function(request, status){
        if(status == "200"){
            // check the request.responseText and add your note if appropriate 
        }

        if(old_callback){
            old_callback(request, status);
        }
    }

    jQuery.ajax(settings);
}

然后直接调用ajaxWrapper()而不是直接调用jQuery.ajax()。

另一种选择是将注释包含在你的ajax响应中。