【发布时间】:2009-12-08 18:25:59
【问题描述】:
我正在运行 Apache 服务器。当我使用 ajax 调用从 HTML 向 cgi 发送请求时,我没有得到任何响应。
我在 httpd/error_log 文件中发现了以下错误语句: 脚本头过早结束:file.cgi
当我向状态码发出警报时,它返回 500 Internal Server Error。
如何解决?
【问题讨论】:
我正在运行 Apache 服务器。当我使用 ajax 调用从 HTML 向 cgi 发送请求时,我没有得到任何响应。
我在 httpd/error_log 文件中发现了以下错误语句: 脚本头过早结束:file.cgi
当我向状态码发出警报时,它返回 500 Internal Server Error。
如何解决?
【问题讨论】:
您没有返回完整的标题集。 CGI 的输出必须采用以下格式:
[header]
[blankline]
[body]
如果您收到“过早结束...”错误,最可能的原因是您没有提供任何标题。至少,您应该返回内容类型,然后返回任何其他可选字段,例如,一个简单的“Hello world”响应将是:
Content-type: text/plain
Hello world!
或者一个简单的 HTML 示例:
Content-type: text/html
<html>
<body>Hello world!</body>
</html>
您可能希望使用 Content-type 返回的其他标头包括那些控制缓存、cookie、重定向等的标头。
【讨论】: