【发布时间】:2012-06-24 12:35:07
【问题描述】:
我有以下 jQuery
$.ajax({
type: "GET",
url: "http://f.cl.ly/items/0i1V1L1k2F440L1m2Y0G/pointdata.xml",
dataType: "xml",
success: parseXml
});
function parseXml(xml) {
$(xml).find('point').each(function() {
var lat = $(this).children('lat').text();
var long = $(this).children('long').text();
alert(lat + long);
});
}
试图从this XML 文件中读取数据
你还可以看到一个直播的jsFiddle here
由于某种原因,变量 lat 和 long 没有被分配给每个元素。我究竟做错了什么?任何帮助将非常感激。提前致谢。
【问题讨论】:
-
让我猜猜。
http://f.cl.ly/是第三方域名。 -
jsfiddle 不起作用,因为同源策略限制禁止您发送跨域 AJAX 请求。您确定您的实际代码中没有违反此政策吗?因此,除非您的脚本在
http://f.cl.ly/上挂起,否则您无法向其发送 AJAX 请求。 -
通过将其添加为资源对其进行了更新,但仍然没有运气。 jsfiddle.net/STe25/2
-
@jacktheripper 如有疑问,请始终添加
error回调并调查您收到的 Ajax 错误。 -
@jacktheripper,不,您没有将其添加为资源。您刚刚添加了对它的引用。该文件仍位于
f.cl.ly上,并且您更新的 jsfiddle 不起作用,因为您收到 404 错误。请使用 FireBug 查看这些错误。因此,正如每个人已经在这里声明的那样:您不能发送跨域 AJAX 调用。
标签: jquery html xml parsing loops