菜单

金沙国际棋牌下载官网启用Csrf后POST数据时出现的400错误

2020年2月6日 - 金沙国际唯一官网

最近一直出现这样的错误,一直在查找原因,偶然看到一篇解决的文章,分享给大家看看。

第一种解决办法是关闭Csrf
public function init()
{
$this->enableCsrfValidation = false;
}

第一种解决办法是关闭Csrf

第二种解决办法是在form表单中加入隐藏域
<input name=”_csrf” type=”hidden” id=”_csrf” value=”<?=
Yii::$app->request->csrfToken ?>”>

public function init(){
  $this->enableCsrfValidation = false;
}

第三种解决办法是在AJAX中加入_csrf字段
在使用ajax的模板头部中加入<?php use yiihelpersHtml;?><?=
Html::csrfMetaTags() ?>
然后就可以正常使用csrf了,如下所示:
var csrfToken = $(‘meta[name=”csrf-token”]’).attr(“content”);
$.ajax({
type: ‘POST’,
url: url,
data: {_csrf:csrfToken},
success: success,
dataType: dataType
});

第二种解决办法是在form表单中加入隐藏域

第三种解决办法是在AJAX中加入_csrf字段

var csrfToken = $('meta[name="csrf-token"]').attr("content");
$.ajax({
 type: 'POST',
 url: url,
 data: {_csrf:csrfToken},
 success: success,
 dataType: dataType
});

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图