因此,我爲我的一個Yii項目設置了分頁設置,並使用CListView實現了預期結果。爲了安全性和可讀性,我將actionParams函數配置爲僅映射到$ _POST參數。來自Yii的「Post」參數CListView
現在我的問題是,當我點擊我的任何排序字段或我的頁面鏈接時,它實際上是GET的數據。如何將其更改爲POST而不是?
因此,我爲我的一個Yii項目設置了分頁設置,並使用CListView實現了預期結果。爲了安全性和可讀性,我將actionParams函數配置爲僅映射到$ _POST參數。來自Yii的「Post」參數CListView
現在我的問題是,當我點擊我的任何排序字段或我的頁面鏈接時,它實際上是GET的數據。如何將其更改爲POST而不是?
如果它滿足您的需求,我不會打結,但您可以通過JavaScript手動觸發ajax更新:$.fn.yiiListView.update('list-id',{type: 'POST'});
。在第二個參數中,您還可以發送數據和其他ajax選項,如:$.fn.yiiListView.update('list-id',{type: 'POST',data:{ex_var: 'TEST'}});
。
但是要使用這個,你將不得不綁定上面的點擊你的尋呼機的事件。
另一種解決方案是編輯jquery.yiilistview.js(你可以在framework/zii/widgets/assets/listview中找到它)。轉到更新功能所在的第82行,並編輯其選項,如:
options = $.extend({
type: 'GET', //<- change this to POST
url: $.fn.yiiListView.getUrl(id),
...
});
您還必須刷新資產文件夾。但請記住它會改變你所有的CListView的行爲:)
問候。
你在說整體更新分頁的內容。我的意思是點擊分頁和分類列的頁碼。 –
我知道,但點擊分頁鏈接和排序列會通過函數$ .fn.yiiListView.update()觸發ajax更新。或者您是否使用了一些自定義的解決方案?發佈一些相關的代碼會有很大的幫助。 –
嘿,謝謝!第二種解決方案出色地工作!我不想更新基本文件,但由於我沒有其他的去,我將不得不與它做。 –