3

そのため、Yii プロジェクトの 1 つのページネーション設定があり、CListViewを使用して目的の結果を達成しました。セキュリティと読みやすさのために、actionParams 関数を$_POSTパラメーターのみにマップするように構成しました。

今私の問題は、ソート可能なフィールドまたはページのリンクをクリックすると、実際にはGETのデータになることです。代わり にPOSTに変更するにはどうすればよいですか?

4

1 に答える 1

3

それがあなたのニーズを満たすかどうかはわかりませんが、JavaScriptを使用して手動でajaxの更新をトリガーできます$.fn.yiiListView.update('list-id',{type: 'POST'});。2番目の引数では、データやその他の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の動作が変わることに注意してください:)

よろしく。

于 2012-05-14T08:11:43.700 に答える