私はYiiプロジェクトの1つに対してページ設定を行い、CListViewを使用して目的の結果を得ました。セキュリティと読みやすさのため、actionParams関数を$ _POSTのパラメータにのみマップするように設定しました。Yii CListViewからの "Post"引数
私の問題は、私がソート可能なフィールドやページリンクをクリックすると、実際にはGETのデータです。代わりにPOSTに変更するにはどうすればよいですか?
私はYiiプロジェクトの1つに対してページ設定を行い、CListViewを使用して目的の結果を得ました。セキュリティと読みやすさのため、actionParams関数を$ _POSTのパラメータにのみマップするように設定しました。Yii CListViewからの "Post"引数
私の問題は、私がソート可能なフィールドやページリンクをクリックすると、実際にはGETのデータです。代わりにPOSTに変更するにはどうすればよいですか?
あなたのニーズに合っているかどうかはわかりませんが、JavaScriptを使用して手動でajaxの更新を起動するには、$.fn.yiiListView.update('list-id',{type: 'POST'});
を使用できます。 2番目の引数では、データとその他のajaxオプション($.fn.yiiListView.update('list-id',{type: 'POST',data:{ex_var: 'TEST'}});
など)を送信することもできます。
しかし、これを使用するには、あなたのページャーの上記のクリックイベントをバインドする必要があります。
もう1つ解決策は、jquery.yiilistview.jsを編集することです(フレームワーク/ zii/widgets/assets/listviewで見つけることができます)。更新機能がある行82に移動し、そのオプションを次のように編集します。
options = $.extend({
type: 'GET', //<- change this to POST
url: $.fn.yiiListView.getUrl(id),
...
});
また、アセットフォルダを更新する必要があります。ただし、すべてのCListViewsの動作が変更されることに注意してください:)
よろしくお願いします。
あなたは、全体的にページネーションの内容を更新しています。私が意味するのは、ページ番号とソーター列のページ番号をクリックすることです。 –
私は知っていますが、ページ分割リンクとソーター列をクリックすると、$ .fn.yiiListView.update()関数を介してajaxの更新がトリガーされます。または、ページング用にカスタムソリューションを使用しましたか?関連するコードを投稿すると多くの助けになります。 –
ねえ、ありがとう! 2番目の解決策は素晴らしいです!私は基本ファイルを更新したくなかったが、他には何もしていないので、私はそれをしなければならないだろう。 –