2011-09-28 94 views
0

免责声明:可能是一个疯狂的问题,但我遭受了很多,所以来到这里。如何调试Javascript + PHP + Web服务

我正在使用JS + PHP + Web服务(在Spring中编写)的遗留应用程序。应用程序的
流量:
每当任何Web服务从JS把它称为被重定向到一个PHP文件。 php文件对用户进行身份验证(使用一个Web服务),然后将请求转发给实际的Web服务。

如何调试此应用程序?我使用Firebug和servr端代码使用Eclipse调试JS,但从未调试过这样的应用程序。

〜Ajinkya。

+0

对于php,'var_dump'对我来说已经足够了。 – xdazz

+0

@xdazz:但我想调试完整的应用程序,就像我想查看数据如何在JS,PHP和Web服务之间流动,并想检查许多其他事情。在这种情况下'var_dump'可能不够用。 – xyz

回答

2

我认为有很多事情需要完成,我必须说这个问题已经足够一般,因此没有直接的答案,所以我会尽我所能。正如xdazz提到的,从PHP的角度来看,var_dump(和die)是必需的。

每当有任何东西返回到JS console.log它。另外,请确保为Firebug启用XHTTP请求,或者在Chrome网络标签中查看每个请求的输出。

使用console.log,var_dumpdie的组合,您可以一步一步地重复跟踪应用程序的非功能部分,直到遇到错误。

或者,从长远来看,您应该这样做,将错误处理代码构建到仅在调试标志设置为true时激活的所有PHP代码中。通过这种方式,您可以获得详细的错误消息,然后在部署时关闭它们以避免危及安全性。

+0

感谢您的建议。会尝试这个东西。 – xyz

+1

另请参见:扔在wireshark或提琴手寻找正在提出的实际要求 –

2

如果您需要在场景中检查Web服务请求的整个生命周期,则需要结合多种技术。考虑到您的方案范围跨越客户端到服务器的事实,您需要决定将持续保存需要检查的信息。

就我个人而言,我会选择阻力最小的路径,在我的情况下可能是cookies。据说你应该可以按照时间顺序通过JavaScript和PHP记录必要的信息,包括请求之前,之中和之后,甚至发生重定向。

这个策略将允许记录cookie的信息然后通过JavaScript,WebKit检查器或Firebug转储或分析。再次,这可能是我如何处理这种情况。最后,您可以将不同的存储策略应用于此技术,例如使用会话或数据库来实现持久性。

注意:您可以使用诸如WebKit Inspector和Firebug之类的东西来分析GET,POST甚至WebSocket请求发送和接收的数据。

+0

谢谢你。看起来像有很多选项:) – xyz

+0

我选择使用我描述的方法,只是因为我最终得到一个包含关于请求的整个生命周期的时间顺序信息的cookie。这使我能够快速,轻松地将我从JavaScript登录到PHP的所有内容都转存到您的案例中,并且您还可以获取与后台发生的重定向有关的信息。 –