2009-12-08 3 views
2

Je cours le serveur Apache. Lorsque j'envoie la requête du HTML en utilisant l'appel ajax à cgi, je ne reçois aucune réponse.Erreur interne du serveur: Fin prématurée des en-têtes de script dans file.cgi

Je trouve la déclaration d'erreur suivante dans le fichier httpd/error_log: Fin prématurée des en-têtes de script: file.cgi

Quand j'ai donné l'alerte au code d'état, il est retourné 500 Internal Server Error.

Comment résoudre ceci?

Répondre

3

Vous ne renvoyez pas un jeu complet d'en-têtes. La sortie d'un CGI doit être du format:

[header] 
[blankline] 
[body] 

Si vous obtenez l'erreur « Fin prématurée ... », la raison la plus probable est que vous n'êtes pas fournir l'en-tête. À un strict minimum absolu, vous devez retourner le type de contenu et d'autres champs facultatifs, par exemple, une réponse simple « Bonjour tout le monde » serait:

Content-type: text/plain 

Hello world! 

Ou un exemple simple HTML:

Content-type: text/html 

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

autres en-têtes vous voudrez peut-être revenir avec Content-type comprennent ceux qui contrôlent le cache, les cookies, les redirections, etc.

+0

Merci, je l'ai ... travailler Je dois utiliser printf (» Type de contenu: text/html; charse t = utf-8 \ n \ n "); au lieu de printf ("% s% c% c \ n \ n", "Type de contenu: text/html; charset = iso-8859-1", 13,10); – MalarN

Questions connexes