2009-12-08 52 views
2

我正在运行Apache服务器。当我使用ajax调用cgi发送HTML请求时,我没有收到任何回应。服务器内部错误:file.cgi中脚本标题的提前结束

我发现下面的错误的语句中的httpd/error_log中文件: 脚本头过早结束:file.cgi

当我给警惕状态代码,它返回500内部服务器错误。

如何解决这个问题?

回答

3

您没有返回全套标题。对于CGI输出必须是以下格式:

[header] 
[blankline] 
[body] 

如果你得到了“过早结束...”的错误,最可能的原因是你没有提供任何标题。在绝对最低限度,你应该返回内容的类型,然后任何其他可选字段,例如,一个简单的“Hello world”的回答是:

Content-type: text/plain 

Hello world! 

或简单的HTML例子:

Content-type: text/html 

<html> 
<body>Hello world!</body> 
</html> 

你可能要与内容类型返回其他标题包括那些控制缓存,饼干,重定向等

+0

谢谢你,我得到它的工作... 我必须使用 的printf(”内容类型:text/html; charse T = UTF-8 \ n \ n“); 而不是printf(“%s%c%c \ n \ n”,“Content-Type:text/html; charset = iso-8859-1”,13,10); – MalarN 2009-12-08 12:17:32