2009-12-08 84 views

回答

7

调试,修复和解决来自Ajax调用的服务器错误与其他任何请求完全相同。

  1. 检查的误差是

  2. 介绍调试语句到各地,其中错误是发生在服务器端代码(加一点点你的Ajax请求了任何迹象Web服务器错误日志转储所有响应为纯文本)

它也可能是有用的复制在Ajax调用中使用的URL和查询字符串,并将其粘贴到浏览器中查看任何响应。

Firebug for Firefox也是一个有用的诊断工具,用于测试作为Ajax调用的一部分发送的内容以及作为响应发送的内容。

0

如果您的服务器正在运行Windows,请查看事件日志并查看发生了哪些服务器错误。

+0

或IIS日志 – Kane 2009-12-08 06:12:36

0

查看服务器日志,该日志通常位于/ var/log/apache2或/ var/log/httpd之类。

下载Firebug,拦截ajax调用并将其加载到浏览器中或查看其输出。确保你的服务器设置为报告错误(例如,查看PHP设置的php.ini)。不管是什么原因导致它可能会出现。

确保你实际上并没有在代码中自己抛出错误500。

如果您使用PHP,那么使用调试器,例如PHPEd或xdebug并逐步完成代码。这是我调试我的PHP的方式,这是最好的方式,但需要一些时间来设置。

0

您使用Ajax中的任何操作创建并发出了对服务器的请求。到现在为止还挺好。服务器试图处理您的请求,但遇到错误情况。这通常是由服务器代码中的一些错误引起的。

正如John Saunders所建议的那样,通过查看日志,您通常可以获得有关服务器端问题的更多信息。

0

你应该先调试你的ajax请求;这里是如何做到这一点:

http://sarfraznawaz.wordpress.com/2009/09/11/debugging-ajax-requests/ 
1

使用fiddler或萤火看看你的网络请求/响应。

它看起来像你可能正在使用Perl? 尝试在通往perl声明的路径之后的新行上添加使用CGI::Carp qw(fatalsToBrowser);

+0

特别是在对请求失败的响应中,服务器可能会返回有关失败的一些信息。否则,您必须查看服务器端日志。 – 2009-12-08 06:32:31

+0

@John,正确的我澄清了它。 – row1 2009-12-08 06:36:36

0

我的步骤通常(特别顺序):

  1. 打开Firebug,并期待从控制台特定Ajax请求。然后,查看参数,标题和URL请求。检查每个数据,看看哪里出了问题。如果一切似乎确定
  2. 我会看看我的服务器日志(httpd错误。登录Apache)并检查来自该请求的任何特定错误。
  3. 修复基于所有检查的错误。