2013-05-19 3 views
2

Я создал cgi-программу на C, которая генерирует HTML, и я хотел бы заменить часть HTML-страницы на нее. Итак, используя jquery, я попытался получить вывод моего cgi, используя $ .ajax(), $. Get() или $ .post(), но он не работает, и я не нашел ничего подходящего в отладчике Firefox и хрома. Я бегу Apache, локальной и журналы говорят, что это действительно есть запросПолучение данных из cgi в javascript (ajax)

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

Я искал часы, и кажется, что люди используют код так же, как и я, но он работает для них, а не для меня, поэтому я просто вставлю его и позволю взгляд на то, что это неправильно

Javascript (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" И здесь не то, что я получаю в Firefox отладчик

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

хромом отладчика I получите это

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

Кто-нибудь за некоторые рекомендации?

ответ

2

Я могу запустить код, как вы его представили. Я также предупреждал данные, поэтому я вижу, что он действительно извлекает содержимое страницы. Как вы отличаетесь?

Это может указывать на наличие проблемы с конфигурацией вашего веб-сервера.

<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> 
+0

Это весь код http://pastebin.com/8Zvb8eSs И я не уверен, что я мог сделать неправильно, чтобы получить Apache, чтобы быть грязным? Он не говорит ничего плохого о моей последней попытке (которая не работает) В файле access_log: 127.0.0.1 - - [20/Май/2013: 03: 26: 46 +0200] "GET/cgi-bin/test_cgi HTTP/1.1 "200 682 В файле error_log: [Сб Мар 24 21:03:05 2012] [предупреждение] Сертификат сервера RSA CommonName (CN)' localhost 'НЕ соответствует имени сервера !? (что было раньше) и в cgi_errors_logs ничего не сообщил об этом cgi Это странно, как вы думаете? – toor

+0

Вы можете перейти непосредственно к cgi url? – cloudworks

+0

Да, localhost/cgi-bin/test_cgi запускает html-код в браузере – toor

Смежные вопросы