jquery:i';我无法获取$.get或$(';#idOfElement';)。即使是在最简单的示例中也可以加载。
真尴尬。我在以前的项目中做过这个,但是现在我无法得到最简单的例子 装载量和美元。立即开始工作 我的简单小网页如下所示。当我使用firebug时,我可以看到正在发出http请求 (在下面的cnn.com案例中,我也尝试了谷歌。)但firebug出于某种原因以红色显示了这些请求 id为“container”的div未更新。而且我从来没有看到回调指示“这是数据” 一定是些很简单又愚蠢的东西……但经过一个小时的修补,我准备哭着求救了 非常感谢您的建议。谢谢jquery:i';我无法获取$.get或$(';#idOfElement';)。即使是在最简单的示例中也可以加载。,jquery,ajax,Jquery,Ajax,真尴尬。我在以前的项目中做过这个,但是现在我无法得到最简单的例子 装载量和美元。立即开始工作 我的简单小网页如下所示。当我使用firebug时,我可以看到正在发出http请求 (在下面的cnn.com案例中,我也尝试了谷歌。)但firebug出于某种原因以红色显示了这些请求 id为“container”的div未更新。而且我从来没有看到回调指示“这是数据” 一定是些很简单又愚蠢的东西……但经过一个小时的修补,我准备哭着求救了 非常感谢您的建议。谢谢 <!DOCTYPE ht
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
alert('in ready handler');
$('#container').load('http://www.cnn.com/');
alert('after container load');
$.get(
'http://www.cnn.com/',
function(data) {
alert('here is the data' + data);
}
);
alert('after get was called');
});
</script>
</head>
<body>
the container:
<div id="container"></div>
</body>
</html>
$(文档).ready(函数(){
警报(“在就绪处理程序中”);
$('#容器')。加载('http://www.cnn.com/');
警报(“集装箱装载后”);
美元(
'http://www.cnn.com/',
函数(数据){
警报(“这是数据”+数据);
}
);
警报(“调用get之后”);
});
容器:
除非您将代码托管在cnn.com上,否则无法使用AJAX从其他域加载资源。这是一种跨域保护机制
最好的选择是在您的服务器上有一个简单的php文件,它从远程站点请求内容并将其发回,例如
AJAX.php
$ echo file_get_contents('http://www.cnn.com/');
游JS
$ ('#container').load('ajax.php');
在Dales的评论中添加: 有时不允许从远程服务器获取文件内容(在服务器上可能是allow\u url\u fopen false)。所以你可以用curl来代替 你的JS文件
$ ('#container').load('curlRequest.php');
您的curlRequest.php文件
$ch = curl_init("http://www.cnn.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1); //you can use get method also here
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
答案基本上由伊利亚和戴尔提供(谢谢,先生们) 我将在他们的回答中添加以下内容,这是我的朋友埃里克建议的 他基本上建议我检查控制台!我本来应该这么做的。当我在Chrome中启用控制台时,当我点击我的页面时,我看到以下错误:
2XMLHttpRequest cannot load http://www.cnn.com/. Origin null is not allowed by Access-Control-Allow-Origin.
如果我第一次处理这个问题的时候看到了这一点,我就会知道了
唯一的问题是,我在Chrome中启用控制台时看到了这个错误,但在Firefox中使用Firebug时却没有看到。所以,我想这个故事的寓意是,如果Firebug没有给我足够的信息,我可以用Chrome试试我的请求。[直到我弄清楚如何从Firebug那里获得这些信息,我会在发布时发布。]如果你真的需要,有一些技巧-谢谢,伊利亚-我会打电话给特德·特纳,问他的技术人员是否可以让我在那里上传我的垃圾;^)或者我会遵循这里提供的其他好建议,创建一个简单的小web应用程序来测试它,而不是一个静态HTML文件。说真的。。。非常感谢你们的帮助(所有回应的人)