yii2出现Unable to verify your data submission错误

问题:

在提交表单时,出现 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 ?>">

猜你喜欢

转载自blog.csdn.net/alan8865/article/details/80554734