如何调试AJAX请求?如何知道哪个PHP函数被调用?
我正在调试Ajax调用。如何调试AJAX请求?如何知道哪个PHP函数被调用?
如何知道ajax调用哪个特定的PHP函数?
我只能看到请求和JavaScript代码触发请求,但我不知道如何处理请求在服务器端?
我目前正在检查所有的PHP代码,但我想知道如果有一个更简单的方法..
感谢
Debugging PHP AJAX Applications with FirePHP
alt text http://www.diloc.de/blog/wp-content/uploads/2008/07/serverside-php.png
alt text http://www.diloc.de/blog/wp-content/uploads/2008/07/firebug-output.png
alt text http://www.diloc.de/blog/wp-content/uploads/2008/07/firebug-object.png
alt text http://www.diloc.de/blog/wp-content/uploads/2008/07/firebug-trace.png
只要使用萤火虫,请求发送后,寻找响应。例如function1 echo foo,function2 echo bar,如果它是空白的......这两个函数都没有被调用。
在我的最后,我使用Safari并发现从ajax调用PHP脚本的请求/响应是一件轻而易举的事情。
如果你想要一个真正的调试环境并能够在你的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服务器
因此,整个代理页面就像一个“中间人”,连接到远程站点。
[重要] 不要混淆路由器代理和代理页面,但有相同的理论,但它是不同的东西。
是的,但你仍然必须猜测函数包含在哪个php文件中,哪个是函数,对不对?在Firebug中,我看到了帖子和答案,但我没有看到谁在生成答案 – aneuryzm 2010-11-11 09:58:09