如果yii2中在post提交、jquery提交的话如果出现400错误,可能是 Csrf 的问题,解决如下:
第一种解决办法是关闭Csrf
public function init(){
$this->enableCsrfValidation = false;
}
第二种解决办法是在form表单中加入隐藏域
<input name=”_csrf” type=”hidden” id=”_csrf” value=”<?= Yii::$app->request->csrfToken ?>”>
第三种解决办法是在AJAX中加入_csrf字段
var csrfToken = $(‘meta[name=”csrf-token”]’).attr(“content”);
$.ajax({
type: ‘POST’,
url: url,
data: {_csrf:csrfToken},
success: success,
dataType: dataType
});
演变一种:
<!– 提交预约 –>
<script language=“javascript” >
// 修改用户名
$(‘#submit1’).click(function(){
var username = $(‘#username’).val();
var userphone = $(‘#userphone’).val();
var _csrf = $(‘meta[name=”csrf-token”]’).attr(“content”);
$.post(“/*****/*****”,{username:username,userphone:userphone,_csrf:_csrf},function(res){
if(res == 1){
alert(‘预约成功,稍候会有老师和您联系。’);
}else
{alert(‘预约失败,请联系在线咨询师。’);
}
})
});
</script>
如需转载请注明: 转载自26点的博客
本文链接地址: yii2 解决POST 400错误的解决
转载请注明:26点的博客 » yii2 解决POST 400错误的解决