如何调试AJAX请求?如何知道哪个PHP函数被调用?

问题描述:

我正在调试Ajax调用。如何调试AJAX请求?如何知道哪个PHP函数被调用?

如何知道ajax调用哪个特定的PHP函数?

我只能看到请求和JavaScript代码触发请求,但我不知道如何处理请求在服务器端?

我目前正在检查所有的PHP代码,但我想知道如果有一个更简单的方法..

感谢

我会建议你使用FireBugFirePHPFirePHP允许您从PHP登录到FireBug控制台。通过这种方式,您可以记录所有正在运行的查询或从方法/函数记录的任何内容。

只要使用萤火虫,请求发送后,寻找响应。例如function1 echo foo,function2 echo bar,如果它是空白的......这两个函数都没有被调用。

在我的最后,我使用Safari并发现从ajax调用PHP脚本的请求/响应是一件轻而易举的事情。

+0

是的,但你仍然必须猜测函数包含在哪个php文件中,哪个是函数,对不对?在Firebug中,我看到了帖子和答案,但我没有看到谁在生成答案 – aneuryzm 2010-11-11 09:58:09

如果你想要一个真正的调试环境并能够在你的php代码中设置断点,请参考zend调试器或xdebug。两者都可以通过pdt eclipse-plugin或其他IDE进行控制。

如果你只是想看到一些小的信息,当然你可以添加一些echo或var_dump到你的php代码,然后使用firebug firefox扩展来查看对你的ajax请求的响应,它包含回显的字符串。

Ajax调用不会调用特定的函数,它只是执行脚本。看看这个脚本,搜索它的“主要”(无论你的脚本中有什么名字),你就会拥有执行的功能。

使用Firefox的插件萤火调试,您可以轻松地检查出的请求和响应的数据内容。

http://www.daniweb.com/web-development/php/code/216729

因此,通过正确,阿贾克斯无法访问远程Web服务器的内容,所以你需要代理页面在整个建筑流程的中间。

所以这意味着: [在同一服务器]使用AJAX PHP页面 - > Web服务/ Web服务器包含您的响应函数

[在2台服务器,连接到远程服务器] PHP页面使用AJAX - > PHP代理页面 - >包含你的响应函数的Web服务/ Web服务器

因此,整个代理页面就像一个“中间人”,连接到远程站点。

[重要] 不要混淆路由器代理和代理页面,但有相同的理论,但它是不同的东西。