我在C中创建了一个生成HTML的cgi程序,我想用它替换HTML页面的一部分。 所以,使用jquery我试图使用$ .ajax(),$。get()或$ .post()获取我的cgi的输出,但它不起作用,我发现firefox和chrome的调试器没有任何相关性。我运行Apache localy,日志说它确实有一个请求
127.0.0.1 - - [20 / May / 2013:01:19:32 +0200]“GET / cgi-bin / test_cgi HTTP / 1.1”200 682
我已经看了几个小时,似乎人们正在使用代码,就像我一样,但它适用于他们,不适合我,所以我只是粘贴它,让你看看有什么问题< / p>
的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]
使用铬调试器我得到了这个
XMLHttpRequest cannot load http://localhost/cgi-bin/test_cgi. Origin null is not allowed by Access-Control-Allow-Origin.
任何人都需要进行一些推荐吗?
答案 0 :(得分: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>