2

C言語でHTMLを生成するcgiプログラムを作ったのですが、HTMLページの一部を差し替えたいと思っています。したがって、jquery を使用して、$.ajax()、$.get() または $.post() を使用して cgi の出力を取得しようとしましたが、機能せず、firefox と chromium のデバッガーに関連するものは何も見つかりませんでした。Apache localy を実行すると、ログにリクエストがあったと表示されます

127.0.0.1 - - [20/May/2013:01:19:32 +0200] "GET /cgi-bin/test_cgi HTTP/1.1" 200 682

私は何時間も探しましたが、人々は私と同じようにコードを使用しているようですが、私ではなく彼らにとっては機能するので、貼り付けて何が悪いのか見てみましょう

ジャバスクリプト(jquery):

$(document).ready(function() {
    $('#button_ajax').click(function() {
        alert("success1");
        $.get('http://localhost/cgi-bin/test_cgi', function(data) {
                    //$('#ajax').empty().append(data);
            alert("success2");
        });
    });
});

html:

<button id="button_ajax">Click here!</button>
<div id="ajax">
<p>Some random test</p>
</div>

「success1」のポップアップがありますが、「success2」のポップアップはありません

> [01:19:32,898] GET http://localhost/cgi-bin/test_cgi [HTTP/1.1 200 OK
> 2ms]

クロムデバッガでこれを取得します

XMLHttpRequest cannot load http://localhost/cgi-bin/test_cgi. Origin null is not allowed by Access-Control-Allow-Origin.

いくつかの推奨事項を求めている人はいますか?

4

1 に答える 1

2

提示されたコードを実行できます。また、データを警告したので、実際にページのコンテンツを取得していることがわかります。あなたのものはどう違うのですか?

これは、Web サーバーの構成に何らかの問題があることを示している可能性があります。

<html>
   <head>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
      <script type="text/javascript">
     $(document).ready(function() {
        $('#button_ajax').click(function() {
           alert("success1");
           $.get('http://localhost:8888/so/test2.html', function(data) {
               //$('#ajax').empty().append(data);
               alert("success2" + data);
           });
        });
    });
      </script>
   </head>
   <body>
      <button id="button_ajax">Click here!</button>
      <div id="ajax">
         <p>Some random test</p>
      </div>
   </body>
</html>
于 2013-05-20T01:06:20.003 に答える