我正在使用YII2 Advanced,在后端我需要一个Action,它使前端的Cache无效.
这是必需的,因为我使用yii2mod/yii2设置,很明显,设置正在两端缓存.但是我无法从后台刷新缓存Yii::$app->cache->flush();,这只会在后端执行.
我花了一段时间才明白这一点,因为它有点明显。我会自己回答,以便其他人也可以从答案中受益,当然也可以看看是否有更好的方法可以做到这一点。该问题基于Axios / Yii2,但我想这将同样适用于其他向Yii2发送数据的前端库/框架。
我需要发布来自Vuejs上的一个小表格的数据,将请求Axios发送到Yii2上的Action / Controller,所以数据是通过简单的POST请求发送的,并且该发布到达了控制器,但是我无法接收动作上的数据,$ _ POST | $ post为空(使用xdebug检查)。
据我所知,这与安全性有关。但是我已经通过禁用公共$ enableCsrfValidation进行了尝试,所以这不是问题。
public $enableCsrfValidation = false;
Run Code Online (Sandbox Code Playgroud)
但是无论如何,数据并没有被添加到Yii2内部的请求/发布数据中。
下图说明了您将在此处发现的问题: