所以我为我的一个 Yii 项目设置了分页,并使用CListView达到了预期的结果。出于安全性和可读性的目的,我将 actionParams 函数配置为仅映射到$_POST参数。
现在我的问题是,当我点击任何可排序字段或页面链接时,它实际上是GET的数据。如何将其更改为POST?
所以我为我的一个 Yii 项目设置了分页,并使用CListView达到了预期的结果。出于安全性和可读性的目的,我将 actionParams 函数配置为仅映射到$_POST参数。
现在我的问题是,当我点击任何可排序字段或页面链接时,它实际上是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),
...
});
您还必须刷新资产文件夹。但请记住,它会改变所有 CListViews 的行为 :)
问候。