Javascript f:ajax和jquery';s`$(文档).ajaxStart`不一起工作吗?

Javascript f:ajax和jquery';s`$(文档).ajaxStart`不一起工作吗?,javascript,jquery,ajax,jsf-2,Javascript,Jquery,Ajax,Jsf 2,我正试图为我的ajaxified网站获得一个“加载”div。 使用JSF2.0的f:ajax标记将ajax添加到网站,并使用jQuery$(document.ajaxStart函数“尝试”使loadindiv显示 jQuery代码部分如下所示: $(document).ajaxStart(function(){ console.log("ajax start"); $('#ajaxBusy').show(); }).ajaxStop(function(){ console.

我正试图为我的ajaxified网站获得一个“加载”div。 使用JSF2.0的
f:ajax
标记将ajax添加到网站,并使用
jQuery
$(document.ajaxStart
函数“尝试”使loadin
div
显示

jQuery代码部分如下所示:

$(document).ajaxStart(function(){
    console.log("ajax start");
  $('#ajaxBusy').show(); 
}).ajaxStop(function(){
    console.log("ajax end");
  $('#ajaxBusy').hide();
});
从不调用日志函数。 知道为什么吗?JSF ajax和javascript ajax不能一起工作吗


谢谢

如果使用jsf、组件库和jquery,那么速记
$
可能是个问题

尝试以这种方式调用jQuery:

jQuery(document).ajaxStart(function(){ ... });

您应该使用
jsf.ajax.addOnEvent(回调)
来显示加载div。也可以使用
addOnError

您将需要处理
数据。状态

  • 开始
    :在发送请求之前
  • 完成
    :收到请求
  • 成功
    :请求已成功处理(无错误)
使用此api的示例:


  • 没错。不同的JSF实现可能使用不同的AJAX引擎,而jQuery ajaxStart/ajaxStop只适用于那些通过jQuery$.AJAX函数路由AJAX请求的组件

    相反,如果您使用的是Primefaces,jQuery ajaxStart/ajaxStop事件将触发,而jsf.ajax.onEvent将不会触发

    jsf.ajax.addOnEvent(statusUpdate);
    ...
    var statusUpdate = function statusUpdate(data) {
    ...
    }