yii2.0框架报错
yii2.0Ajax方法报错
- 报错内容
- 报错原因
- 解决方案
- 注
报错内容
exception 'yii\web\HeadersAlreadySentException' with message 'Headers already sent in E:\project\components\BaseController.php on line 112.' in E:\project\vendor\yiisoft\yii2\web\Response.php:366
Stack trace:
#0 E:\project\vendor\yiisoft\yii2\web\Response.php(339): yii\web\Response->sendHeaders()
#1 E:\project\vendor\yiisoft\yii2\web\ErrorHandler.php(135): yii\web\Response->send()
#2 E:\project\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\HeadersAlreadySentException))
#3 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\HeadersAlreadySentException))
#4 {main}
Previous exception:
exception 'yii\web\HeadersAlreadySentException' with message 'Headers already sent in E:\project\components\BaseController.php on line 112.' in E:\project\vendor\yiisoft\yii2\web\Response.php:366
Stack trace:
#0 E:\project\vendor\yiisoft\yii2\web\Response.php(339): yii\web\Response->sendHeaders()
#1 E:\project\vendor\yiisoft\yii2\base\Application.php(656): yii\web\Response->send()
#2 E:\project\components\BaseController.php(113): yii\base\Application->end()
#3 E:\project\controllers\ClueController.php(329): app\components\BaseController->backToJson(0, Array, '\xE6\x93\x8D\xE4\xBD\x9C\xE6\x88\x90\xE5\x8A\x9F')
#4 [internal function]: app\controllers\ClueController->actionAjaxlist()
#5 E:\project\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#6 E:\project\vendor\yiisoft\yii2\base\Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#7 E:\project\vendor\yiisoft\yii2\base\Module.php(528): yii\base\Controller->runAction('ajaxlist', Array)
#8 E:\project\vendor\yiisoft\yii2\web\Application.php(103): yii\base\Module->runAction('clue/ajaxlist', Array)
#9 E:\project\vendor\yiisoft\yii2\base\Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
#10 E:\project\web\index.php(20): yii\base\Application->run()
#11 {main}
报错原因
在action中运行echo,var_dump等方法后没有中断,yii1.0中Ajax方法返回数据可以直接通过echo获取,但是yii2.0的Response类中增加了对于返回输出信息的定义,所以当echo后没有中断程序,yii自带的代码就会出错,不过目前我发现的情况是,只有在返回的数据结构复杂的情况下才会出错,尤其是数据中存在json字符串这种形式。
解决方案
- 在echo输出给页面信息后,打断点
- 用return代替echo等输出
public fucntion actionTest()
{//此方法为ajax访问方法$data = array('a' => 1,'b' => json_encode(array(1,2,3)));echo json_encode($data);die;//这种方法是可行的,也是yii1.0中常用的输出方法return json_encode($data);//这种方法也能得到数据,这里推荐使用这种方法
}
注
有两个问题我没有搞清楚原因是什么:
- 简单的数组为什么可以正常输出,复杂的数组输出就会有问题
- 为什么在浏览器直接访问方法并不会报错,用Ajax调用就会报错
yii2.0框架报错相关推荐
- python 3.8.0 编译报错 Could not import runpy module 解决方案
环境 CentOS 7 Gcc 4.8.5 Python 3.8.0 相关报错 make build_all CFLAGS_NODIST=" -fprofile-use -fprofile- ...
- yii2.0框架中自定义接口,实现类的多继承
一.前言 最近有个需求,比如有A,B,C,D四个文件,原来的逻辑是,A继承B,C继承D.后来由于A和C的逻辑太像,既然如此的话,为什么不把A,C写一起呢,第一是方便维护,第二也是减少无用的代码,说干就 ...
- wince6.0 编译报错:error C2220: warning treated as error - no 'object' file generated的解决办法
内容提要:wince6.0编译报错:"error C2220: warning treated as error - no 'object' file generated" 原因是 ...
- wince6.0 编译报错:error C2220: warning treated as error - no 'object' file generated的解决办法...
内容提要:wince6.0编译报错:"error C2220: warning treated as error - no 'object' file generated" 原因是 ...
- RedHat5.5_X64 Linux安装oracle 11.2.0.3 报错
[javascript] view plaincopy REDHAT linux 安装 11G 11.2.0.3 报错 oracle用户执行./runinstaller后 直接报错 查看日志后 ...
- php实现多条件查找分页,Yii2.0框架实现带分页的多条件搜索功能示例
本文实例讲述了Yii2.0框架实现带分页的多条件搜索功能.分享给大家供大家参考,具体如下: 方法一 在控制器中 public function actionShow(){ $where['title' ...
- 01-路由跳转 安装less this.$router.replace(path) 解决vue/cli3.0语法报错问题
01-路由跳转 安装less this.$router.replace(path) 解决vue/cli3.0语法报错问题 参考文章: (1)01-路由跳转 安装less this.$router.re ...
- 一种解决Android studio 3.0 Build报错的方法
一种解决Android studio 3.0 Build报错的方法 参考文章: (1)一种解决Android studio 3.0 Build报错的方法 (2)https://www.cnblogs. ...
- 未能加载文件或程序集 Newtonsoft.Json, Version=4.5.0.0 的报错,解决方法
未能加载文件或程序集 Newtonsoft.Json, Version=4.5.0.0 的报错,解决方法 参考文章: (1)未能加载文件或程序集 Newtonsoft.Json, Version=4. ...
最新文章
- WM OS手机跳过调整屏幕的终极办法
- ylbtech-LanguageSamples-Generics(泛型)
- Material Design(十一)--CoordinatorLayout和自定义视图
- 3、MySQL查看存储过程
- xsd文件转图片_如何将图片转化为PDF格式?分享一个超简单的方法给你
- [APIO2018] New Home 新家(线段树,二分答案,离散化)
- 如何将计算机加入到域环境中,如何在讲计算机加入一个WinXP的域环境
- .net core下简单构建高可用服务集群
- mysql存储过程中in条件多个值,使用临时表解决
- php高强度精密涂覆钢管,电力内外涂覆钢管
- 知乎上的44条神回复,针针见血,看完整个人通透多了
- 《Producter:让产品从0到1》一导读
- 第四次作业随笔(计算器第二步)
- HTML页面跳转及参数传递
- python测试request代理IP是否替换
- Codeforces Round #829 cf1753A Cowardly Rooks
- hexo pjax“暂时”解决aplayer插件间断播放问题
- 【优化模型】图论与TSP模型结合
- java实现九宫格解锁_Java计算手机九宫格锁屏图案连接9个点的方案总数
- 黑鱼资源完整模板分享 已本地化CSS JS
热门文章
- 【论文分享】ARCUS: Symbolic Root Cause Analysis of Exploits in Production Systems
- 数据库系统工程师(第一章)
- 校名已确定!又一所 “理工大学”,来了
- 计算机专业公共基础课,非计算机专业计算机公共基础课程中计算思维体现的必要性...
- php的smarty模板,PHP Smarty模板的安装
- 十分钟理解logistic回归原理
- jq实现表格轮播滚动——技能提升
- 数据库主键的设计和思考
- 初用CSDN博客,如何在写CSDN博客时插入黑色代码,使用高亮主题
- chrome 主页被篡改为hao123?技术宅带你层层深入破之 -转自知乎