您的位置:首页 > 编程语言 > PHP开发

yii2 表单提交一直报错 或者页面脚本写ajax,用firbug调试总是找不到地址页面404

2016-03-12 16:51 603 查看
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段:

<div style="display:none">
<input type="hidden" value="a429b6c0f4468db23a5661d1682db537fe2672c7" name="YII_CSRF_TOKEN" />
</div>


表单提交解决1:

在你的控制器的构造方法里写这个

public function init(){

$this->enableCsrfValidation = false;

}

(不知道init方法什么意思的,参考yii2自动加载)

表单提交解决2:

在表单里面加:

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">

ajax解决1:

var csrfToken = $('meta[name="csrf-token"]').attr("content");

$.ajax({

type: 'POST',

url: url,

data: {_csrf:csrfToken},

success: success,

dataType: dataType

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: