当我使用ajax调用时,我收到“500内部服务器错误”。是什么导致了这个问题?如何解决?
答案 0 :(得分:7)
从Ajax调用调试,修复和解决服务器错误与任何其他请求完全相同。
检查Web服务器错误日志中是否有任何错误指示
将调试语句引入到出现错误的服务器端代码中(并向您的ajax请求添加一点,以将所有响应转储为纯文本)
复制Ajax调用中使用的URL和查询字符串并将其粘贴到浏览器中以查看任何响应也可能很有用。
Firebug for Firefox也是一个有用的诊断工具,用于测试作为Ajax调用的一部分发送的内容以及作为响应发回的内容。
答案 1 :(得分:1)
使用fiddler或firebug查看您的网络请求/响应。
看起来你可能正在使用perl?
尝试在perl声明路径后的新行上添加use CGI::Carp qw(fatalsToBrowser);
。
答案 2 :(得分:0)
如果您的服务器运行的是Windows,请查看事件日志,看看发生了什么服务器错误。
答案 3 :(得分:0)
查看服务器日志,Linux上的日志通常类似于/ var / log / apache2或/ var / log / httpd。
下载Firebug,拦截ajax调用并将其加载到浏览器中或查看其输出。确保您的服务器设置为报告错误(例如,查看PHP设置的php.ini)。无论造成什么,都可能会出现。
确保您实际上没有在代码中自行抛出错误500.
如果您使用PHP,则使用调试器,例如PHPEd或xdebug,并逐步执行代码。这就是我调试PHP的方式,这是最好的方法,虽然需要一些时间来设置。
答案 4 :(得分:0)
您使用在Ajax中执行的任何操作创建并向服务器发出了请求。到现在为止还挺好。服务器尝试处理您的请求但遇到错误情况。这通常是由服务器代码中的一些错误引起的。
正如John Saunders所建议的那样,通常可以通过查看日志来获得有关服务器端问题的更多信息。
答案 5 :(得分:0)
您应该首先调试您的ajax请求;这是怎么做的:
http://sarfraznawaz.wordpress.com/2009/09/11/debugging-ajax-requests/
答案 6 :(得分:0)
我的步骤通常(特别是顺序):
答案 7 :(得分:0)
我正在客户的服务器上工作,并且在执行PHP代码时遇到了问题。我检查了CPannel的错误,这只是一个权限错误。 必须使用组的不可写权限设置PHP文件。 在我的情况下,将权限设置为644使一切正常。
答案 8 :(得分:0)
我今天也面临同样的错误。它主要是因为文件夹/文件名错误而发生,因为链接/发送ajax请求时文件夹和文件的名称在实际服务器上是区分大小写的(不在服务器模拟器中,例如WAMP / XAMPP)。因此,请检查您发送请求的文件路径,问题可能会得到解决。