如何重新加载多个pjax

jos*_* 28 8 pjax yii2

我只是想知道如何重新加载多个pjax?这是我的代码

        $.pjax.reload({container:"#con_camp"});
        $.pjax.reload({container:"#con_camp1"});
Run Code Online (Sandbox Code Playgroud)

但只有#con_camp1才会重新加载.

GAM*_*ITG 17

试试这个.

   $.pjax.reload({container: "#1-pjax", async:false});
    $.pjax.reload({container: "#2-pjax", async:false});
Run Code Online (Sandbox Code Playgroud)

  • 是的,这适用于@GAMITG但是如果服务器需要时间来处理任何这些ajax请求,那么你的浏览器就会挂起,直到它收到来自服务器的响应.任何解决方法? (2认同)

Coz*_*Coz 6

你可以做到

$.pjax.reload({container: '#container_1'}).done(function () {
    $.pjax.reload({container: '#container_2'});
});
Run Code Online (Sandbox Code Playgroud)


小智 5

不幸的是,Pjax在设计上不允许多个请求。为了执行这些操作,您必须使中的xhr参数无效$.pjax。

基本上是这样的:

$.pjax.reload({container:"#con_camp"});
$.pjax.xhr = null;
$.pjax.reload({container:"#con_camp1"});
$.pjax.xhr = null; // so that some next pjax request wont cancel this reload.
Run Code Online (Sandbox Code Playgroud)