1. 程式人生 > >yii2-pjax更新

yii2-pjax更新

Pjax::begin(['id'=>'countries']);
GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        'id','name','content'
    ]
]);
Pjax::end();

定義好之後就可以繫結事件到具體的按鈕上呼叫pjax的方法了。比如想更新重新整理頁面

$.pjax.reload({container:"#countries"});

如果想在reload時給伺服器傳引數可以這樣

$.pjax.reload({container:"#countries",data: form.serialize()});

form表單的ajax提交也可以這樣呼叫

$.pjax.submit(event,"#countries");

在實際專案中我們可能還會需要對ajax請求的的各個引數和事件做處理,這裡講幾個認為比較常用的地方

var container = $("#countries");//容器
container.on('pjax:beforeSend',function(args){
    ajax請求之前呼叫,返回false中斷ajax請求
})
container.on('pjax:error'
,function(args){ ajax請求失敗之後呼叫 }) container.on('pjax:success',function(args){ ajax請求成功之後呼叫 })

還有一些其他的事件可以通過檢視jquery.pjax.js原始碼來了解。
有什麼不對的地方希望大家更正,互相學習