yii2 表单提交一直报错 或者页面脚本写ajax,用firbug调试总是找不到地址页面404
2016-03-12 16:51
603 查看
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段:
表单提交解决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
});
<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
});
相关文章推荐
- laravel 学习笔记一 (异常处理)
- CodeIgniter 判断用户超时登录清除session
- php-7.0编译模块的出错
- PHP_SQL_数据库读取的“日期”处理
- [PHP]从脚本页面到Mysql数据库的各种中文乱码问题
- Laravel5 根目录router无效
- (多线程)OutPut2
- (多线程)OutPut
- Yii url 工具类
- 使用基于ThinkPHP3.2.3的ThinkAdmin创建手机电脑通用的表白墙(七)优化:访问控制
- laravel 创建路由失败原因
- FTP工作模式<二>
- 获取坐标封装 getPos
- ftp 简介<一>
- 使用基于ThinkPHP3.2.3的ThinkAdmin创建手机电脑通用的表白墙(六)表白页面
- thinkphp的success方法
- phpcms标签云
- 整理 PHPstorm实用个人配置,修改调整个性化快捷键,修改使用phpstorm创建的模板的默认注释:
- 学习PHP步步高(开篇)
- thinkphp中的session的使用和理解!