问题:
在提交表单时,出现 Unable to verify your data submission.[file:E:\imooc2\vendor\yiisoft\yii2\web\Controller.php][line:110][code:0][url:/web/user/login][POST_DATA:login_name=alan&login_pwd=]
的错误。
原因:
出现这个情况是因为表单在提交的时候时,被yii2的CSRF验证拦截了,Web网页访问的时候form表单中会有对应的一个隐藏input:_csrf进行了验证才可以正常进行访问;
解决方案:
方案1:关闭csrf
在当前所在的控制器设置: $enableCsrfValidation=false;
代码:
class BaseWebController extends Controller
{
public $enableCsrfValidation = false;
...
方案2:在post数据的时候,设置csrf的数据隐藏在表单中。
代码:
<input type="hidden" name="_csrf" id='csrf' value="<?= Yii::$app->request->csrfToken ?>">