2012-08-31 101 views
1

我有一个问题,我需要能够检测一般ASP.NET页面上的AJAX调用。然而,这个页面是自动生成的,所以我不能添加任何代码或脚本管理器到它,它还没有生成。检测使用JQuery或Javascript的任何AJAX调用/请求

我基本上需要一种通过JQuery或一般JavaScript检测泛型AJAX调用的方法。我无法添加使ajax调用的代码。所以它需要尽可能通用,并且能够检测到AJAX调用。

我已经尝试过ajaxComplete JQuery函数,但是这不起作用,因为ajax调用没有启动或停止分配给它们。

我有这个问题的原因是因为我有一个用C#ASP.NET编写的服务器控件,它是一个页面插件,需要检测页面上的AJAX查询。但是我不能修改页面的内容,只能修改控件。

这可能吗?有任何想法吗?

编辑:

最后我们以另一种方式解决了这个问题。毕竟,我们并不需要检测AJAX调用。相反,我们必须在我们的控制不加载JavaScript和我们包裹着页面加载功能,像这样的JQuery的文件准备好功能:

function pageLoad() { 
    $(document).ready(function() { 
     stuff(); 
    }); 
} 
+0

如果你不能在页面上添加任何东西,你如何期望用水晶球做到这一点?否则,jQuery拥有全局ajax处理程序,如ajaxstart和ajaxstop,可以让您知道何时ajax请求已启动/停止,并且如果这不适用于您,您做了错误的事情,因为所有ajax请求都有启动和停止。 – adeneo

回答

1

不知道它的作品你,但唯一的解决办法是,

jQuery(document.body).ajaxStart(function(){ 
    // start ajax call 
}).ajaxStop(function(){ 
    // end ajax call 
});