yii2 解决POST 400错误的解决

PHP 林涛 12156℃ 0评论

如果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错误的解决

喜欢 (0)
发表我的评论
取消评论

表情