我有一个静态html页面weather.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://www.google.com/ig/api?weather=Delhi",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml) {
$(xml).find("weather").each(function() {
alert($(this).attr("temp_c"));
});
}
</script>
</head>
<body>
</body>
</html>
当我通过萤火虫检查时,警报似乎没有显示在页面中,
XML Parsing Error: no element found Location: moz-nullprincipal:{08ba4230-2feb-48d3-969e-b53579b07b52} Line Number 1, Column 1:
^
函数parseXml
似乎也没有被调用......
答案 0 :(得分:2)
您无法使用AJAX访问远程域。见Same Origin Policy。您正在尝试访问位于google.com
上的脚本,因此,除非此页面在此相同的域上托管,否则它将无效。实现此功能的唯一方法是在服务器上设置代理服务器脚本,并将其发送给google.com
。另一种方法是使用JSONP但远程脚本需要支持它。