yii2 在 post 请求上禁用页面缓存

yii2 disable page cache on post request

我有一个页面,我在其中提交了一个我想缓存但仅用于获取请求的表单。我不知道是否有办法做到这一点,但 Yii2 指南似乎暗示了它 http://www.yiiframework.com/doc-2.0/yii-filters-pagecache.html#$enabled-detail,它说你只能为 Get 请求启用它。任何人都知道如何过滤它,以便在提交表单时不会缓存页面。现在当它提交页面时进入重定向循环。

'pageCache' => [
    'class' => 'yii\filters\PageCache',
    'only' => ['nba'],
    'dependency' => [
    'class' => 'yii\caching\DbDependency',
    'sql' => 'SELECT timestamp FROM e_NBApicks WHERE user_id = '.Yii::$app->user->Id,
    ],
],

因为 enabled 是一个布尔值,只需从 \yii\web\Request:

传递 isGet 变量
'pageCache' => [
    ...
    'enabled' => Yii::$app->request->isGet
]

请求 class 表示一个 HTTP 请求。从 API page

阅读更多相关信息