在使用Ajax时,如何从接收请求的服务器上的脚本获得输出?


When working with Ajax how do you get output from the script on the server recieving the request?

例如,客户端的web浏览器执行JavaScript

xmlhttp.open("POST", "LatestFashion.php", true)
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xmlhttp.send("name="+encodeURIComponent(name.value)+"&gender="+encodeURIComponent(gender.value))

页面LatestFashion.php做了一堆工作,但它让我发疯的麻烦。我如何将内容输出到屏幕或一些合理的源,以便我可以知道在LatestFashion.php中持有什么值变量?这在生产版本中是不存在的。我唯一能想到的就是打开一个文件,然后给它写东西。现在LatestFashion.php不能工作,解决问题非常困难。对数据库的查询是运行的,我不能看到它实际得到什么结果。现在,我已经尝试独立运行SQL查询,手动添加namegender给脚本的数据。

编辑:我用的是FireFox。

如果你使用Chrome或Safari(我相信Firefox也有),你可以使用web检查器的"Network"选项卡来查看AJAX请求对该文件的响应。在文件中,你可以输出一些调试的东西那将显示在网络选项卡中那个调用的细节中。

我希望我正确理解了你的问题。

您可以:

  • 检查php错误日志
  • 在浏览器的开发工具中显示请求的结果(在Chrome中,网络选项卡,单击请求以查看已发布的内容和相关响应,如果对您有帮助,可以添加可视化调试内容)
  • 使用日志文件。例如,如果您想查看PHP脚本收到了什么,您可以这样做:file_put_contents ('mylog.txt', print_r($_REQUEST,true), FILE_APPEND);

最后,一种简单的方法是使用GET而不是POST,这样您就可以轻松地在浏览器中直接调用带有参数的脚本并查看结果。当OK时,如果需要的话切换回POST。