• 締切済み

サーバ側プログラム言語について

XHttpRequest()で実行されるサーバ側処理の言語は、参考書ではPHPで記載されているものが殆どです。 PHPのサンプルコードを見ると、単に(検索等は抜かして)echoで標準出力していいる為、 同じような事を例えば perlで記述しても出来ると思い、実際以下の様に簡単な サンプルを実行してるのですが、思うように結果が出てきません ----------------------------------------- #!/usr/local/bin/perl use CGI; $query = new CGI; $project_id = $query->param('emp_no'); $|=1; &main(); sub main { print "AAA"; } ----------------------- 期待する結果はAAAの文字列です しかしながら、実際にHTML側で得られる結果は、 #!/usr/local/bin/perl ・・ とソースそのものが出てきてしまいます。 (perlには実行権を与えています) 同じ事をperlではなく、/bin/sh で echo しても結果は同じでした。 PHPで書けばと言われそうですが、得意な言語で書ければと思っています 何か原因が判れば教えてください。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>ソースそのものが出てきてしまいます。 というなら、Ajax以前にhttpサーバーがperlなどのCGIを実行しない設定になってるだけでは?

yanawin
質問者

お礼

情報ありがとうございます。 浅知恵の自分でしたのでサーバ側の設定を管理者の方に見ていただき、 無事解決しました。 下記を設定していただきました AddHandler cgi-script .cgi .pl

noname#120325
noname#120325
回答No.1

えーと、こっちで動かしてみたら、動きましたよー。 #!/usr/bin/perl use CGI; $query = new CGI; $project_id = $query->param('emp_no'); $|=1; &main(); sub main { print "Content-type: text/plain\n\n"; print "AAA!"; } なんか無駄なコードがあるけど、とりあえずそのまま試してみましたよー。perlのパスはこっちの環境にあわせて変えてありますけどねー。 ところで、書いてあったソースコードだとContent-typeを出してないですがー、そーゆーサーバー設定なんでしょーか。これつけたらちゃんと出ましたけどー。もちろん、Ajaxからアクセスしても問題ないですよー。

yanawin
質問者

お礼

上の方にもお礼をご報告させていただいていますが、 無事動かす事ができました。 ありがとうございました。 >ところで、書いてあったソースコードだとContent-typeを出してないですがー print "Content-Type: text/html; charset=\"utf-8\"\n\n"; はい、私の記述漏れでした。

関連するQ&A