Web 開発の世界に足を踏み入れようとしていますが、基本的な Hello World スクリプトが失敗する理由を理解するのに苦労しています。少量の HTML を返す Python cgi スクリプトへの単純な AJAX 呼び出しがありますが、代わりに呼び出しが失敗し、エラー メッセージとして "Internal Server Error" が表示されます。これが私のコードです:
Python スクリプト:
#!/usr/local/bin/python
print "Content-Type: text/html\n"
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""
AJAX 呼び出し:
$(function(){
$('#clickme').click(function(){
$.ajax({
url: "cgi-bin/ajaxpost.cgi",
dataType: "html",
type: "POST",
success: function(response){
alert(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
});
});
そして、これが私のサーバーエラーログの内容です:
CGI ERROR: A system problem prevented your request from being completed., referer: [my test page]
Premature end of script headers: ajaxpost.cgi, referer: [my test page]
サーバーで再確認したところ、「#!/usr/local/bin/python」がpythonへの正しいパスです。さらに、指定された cgi-bin フォルダーはなく、.cgi 拡張子が付いている限り、任意のフォルダーから任意の cgi を実行できると彼らは言います。編集: また、サーバー上で .cgi を実行できるようにしました。
私は先に進み、おそらく「私が5歳のように説明してください」という答えが必要になることを認めます. ありがとう!