在yii2.0中,如何解决提交数据时提示csrf验证失败的问题?

2026-05-07 04:321阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计194个文字,预计阅读时间需要1分钟。

在yii2.0中,如何解决提交数据时提示csrf验证失败的问题?

相关专题:

关闭csrf验证即可。

一、在控制器中添加

public $enableCsrfValidation = false;

二、在form表单中添加隐藏域

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">

不过在高级版本中会有前台后台之分,也就是说name并不一定就是 _csrf,有可能是 _csrf-backend 或者 _csrf-frontend 等等。

_csrf 的字段名一定要与当前页面一致。

三、ajax提交

这里使用的是axios ajax库

axios({ url: url, headers:{ '<?php echo \yii\web\Request::CSRF_HEADER; ?>' : ' <?php echo Yii::$app -> request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })

相关文章教程推荐:yii教程

本文共计194个文字,预计阅读时间需要1分钟。

在yii2.0中,如何解决提交数据时提示csrf验证失败的问题?

相关专题:

关闭csrf验证即可。

一、在控制器中添加

public $enableCsrfValidation = false;

二、在form表单中添加隐藏域

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app -> request -> csrfToken ?>">

不过在高级版本中会有前台后台之分,也就是说name并不一定就是 _csrf,有可能是 _csrf-backend 或者 _csrf-frontend 等等。

_csrf 的字段名一定要与当前页面一致。

三、ajax提交

这里使用的是axios ajax库

axios({ url: url, headers:{ '<?php echo \yii\web\Request::CSRF_HEADER; ?>' : ' <?php echo Yii::$app -> request -> csrfToken; ?>' // _csrf验证 }, data: postData, }).then(response => { // 请求成功 回调 }).catch(error => { // 请求失败 回调 })

相关文章教程推荐:yii教程