Wil*_*wan 6 php bad-request yii2
我有一个由Gii生成的控制器.我将行为修改为:
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['@'],
],
],
],
];
}
Run Code Online (Sandbox Code Playgroud)
当我填写表格并提交时,有时我会收到错误
Bad Request (#400) Unable to verify your data submission
但是,如果我在浏览器中单击后退按钮并再次重新提交具有相同值的表单,则可以成功提交.
我一直在搜索谷歌和stackoverflow,其中许多人说问题出在CSRF令牌上.但在我的布局中,我已经把<?= Html::csrfMetaTags() ?>它放在我的形式中<input type="hidden" name="_csrf" value="...">
这里有人可以帮我解决这个问题吗?并解释为什么会发生这种情况?
在视图中添加表单
<input type="hidden" name="_csrf" value="<?=Yii::$app->request->getCsrfToken()?>" />
Run Code Online (Sandbox Code Playgroud)
小智 -3
我遇到了同样的问题,最终禁用了 csrf 验证。
public function actionCreate() {
Yii::$app->controller->enableCsrfValidation = false;
}
Run Code Online (Sandbox Code Playgroud)
这似乎对我有用。
| 归档时间: |
|
| 查看次数: |
10997 次 |
| 最近记录: |