yii2表单提交CSRF验证

Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下:

第一种解决办法是关闭Csrf

public $enableCsrfValidation = false;

第二种解决办法是在form表单中加入隐藏域(如果是高级版的name值分前后台区分)

 <input type="text" name="_csrf-frontend" 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
});

 

posted @ 2017-05-03 10:43  calmly  阅读(7999)  评论(0编辑  收藏  举报