使用DebugKit,Firebug等调试CakePHP 2上的ajax调用

时间:2012-12-17 06:44:56

标签: cakephp firebug firephp

我安装了DebugKit的CakePHP 2应用程序。它工作正常,我在“Timing”工具栏中为我加载的每个页面获取内存使用和处理时间。

我还希望能够在页面加载后获取ajax请求的内存使用和处理时间。我知道我可以使用DebugKit工具栏中的“历史记录”按钮访问以前的ajax请求,但是当我想点击页面,触发ajax请求并获取它们的即时调试信息时,这并没有什么帮助。 / p>

所以,我做了一些搜索,我发现我可以在Firefox中使用Firebug + FirePHP以及我的应用程序中的FirePHP和FireCake库,并在每个ajax请求的基础上获取所有DebugKit的统计数据。这听起来很完美,正是我想要做的。

不幸的是,我似乎无法让它发挥作用。我只能在http://someguyjeremy.com/blog/using-firephp-to-debug-your-cakephp-app

找到关于此问题的一个教程

我完成了教程提到的所有内容,而Cake完全没有给我任何错误。但是,除非我遗漏了某些内容,否则我看不到Firebug中显示调试信息的位置,如果它确实甚至首先被送到Firebug。

我的配置:

蛋糕版本: 2.2.4

Firefox版本: 17.0.1

Firebug版本:尝试使用1.11.1和1.9.0

FirePHP版本: 0.7.1

DebugKit版本: 2.2.0(最新的主分支)

更新

它似乎完美适用于不以.json结尾的Ajax请求,因此,我没有在routes.php中找到Router::parseExtensions('json');

我取出Router::parseExtensions('json');并更改了我的Ajax请求,直接转到我的filter操作,而不是调用它filter.json而Cake会提供所有FireBug标头。不幸的是,我不能这样使用它,因为JQuery需要内容类型为application.json。

1 个答案:

答案 0 :(得分:1)

看起来这可能是一个记录在案的错误:

http://cakephp.lighthouseapp.com/projects/42880/tickets/107-firephp-messages-are-not-sent-in-response-if-using-jsonxmlview-with-serialization

我的用例并不完全相同,但输出json会阻止FirePHP标题出现。如果我关闭json的parse extensions指令,FirePHP标题就会出现。