Javascript Pjax中的Pjax重新加载:完成
我正在尝试在pjax请求后重新加载Javascript Pjax中的Pjax重新加载:完成,javascript,yii2,pjax,Javascript,Yii2,Pjax,我正在尝试在pjax请求后重新加载警报容器。 我的目标是在发出任何pjax请求后重新加载容器的代码,因此我不必每次单独调用它 我有以下代码: $(document).on('pjax:complete', function(event) { $.pjax.reload({container:"#alerts"}); }); 但是,这会将整个页面发送到一个永无止境的循环中 有没有办法解决这个问题,或者我不应该使用pjax来解决这个问题 多谢各位 更新 以下代码可以工作,但我觉得它
警报容器。
我的目标是在发出任何pjax请求后重新加载容器的代码,因此我不必每次单独调用它
我有以下代码:
$(document).on('pjax:complete', function(event) {
$.pjax.reload({container:"#alerts"});
});
但是,这会将整个页面发送到一个永无止境的循环中
有没有办法解决这个问题,或者我不应该使用pjax来解决这个问题
多谢各位
更新
以下代码可以工作,但我觉得它不是完美的解决方案:
var time = Date.now();
$(document).on(\'pjax:complete\' , function(event) {
if(time <= Date.now()){ //Check if there has been a recent reload
time = Date.now() + 1000;
console.log(time);
App.restartGlobalFunction();
$.pjax.reload({container:"#alerts", async:false});
}
});
var time=Date.now();
$(文档).on(\'pjax:complete\',函数(事件){
如果(time在pjax小部件的特定id上尝试pjax,如下所示:-
$this->registerJs('
jQuery(document).on("pjax:success", "#brand-form", function(event){
$.pjax.reload({container:"#alerts",timeout:2e3})
}
);
');
在pjax小部件的特定id上尝试pjax,如下所示:-
$this->registerJs('
jQuery(document).on("pjax:success", "#brand-form", function(event){
$.pjax.reload({container:"#alerts",timeout:2e3})
}
);
');
您的问题可能是使用URL pjax容器将选项location
添加到Take containers。如果您翻页多个pjax需要添加pjaxid
和location您的问题可能是使用URL pjax容器将选项location
添加到Take containers。如果您翻页多个pjax到need要添加pjaxid
和位置
也要查看此答案您需要设置超时,否则它将不起作用。我已更新了问题。完全相反。也要查看此答案您需要设置超时,否则它将不起作用。我已更新了问题。完全相反,它起作用。那么,它只起作用n那个特定的小部件,对吗?我正试图让上面的代码在任何pjax调用上工作。谢谢你的回答。它将创建一个pjax永无止境的循环,因为$.pjax.reload也是一个pjax调用,它将再次调用pjax:complete
。那么,它只在那个特定的小部件上工作,对吗?我正试图做的是让以上代码适用于任何pjax调用。感谢您的回答。它将创建一个pjax永无止境的循环,因为$.pjax.reload也是一个pjax调用,它将再次调用pjax:complete
。。