JS:
$.ajax({
type: "GET",
url: "http://en.wikipedia.org/w/api.php?format=xml&action=query&titles=pie&prop=revisions&rvprop=content",
dataType: "xml",
success: function(xmlData){
var totalNodes = $('*',xmlData).length; // count XML nodes
alert("This XML file has " + totalNodes);
},
error: function(){
alert("Could not retrieve XML file.");
}
});
不确定我的问题是什么;有人可以帮忙吗?我提供的URL是'pie'wiki页面的返回XML。您应该能够将其输入浏览器并查看它。但是,当我运行此代码时,我从错误函数获取警报,而不是成功。任何想法都表示赞赏!感谢。
答案 0 :(得分:0)
问题出在跨域原始策略中,您无法通过获取xml
文件来解决此问题。我建议切换到JSON
,因为dataType: 'jsonp'
用于跨域请求。您的代码将更改为:
$.ajax({
type: "GET",
url: "http://en.wikipedia.org/w/api.php?format=json&action=query&titles=pie&prop=revisions&rvprop=content",
dataType: "jsonp",
success: function(jsonData){
//var totalNodes = $('*',xmlData).length; // count XML nodes
//alert("This XML file has " + totalNodes);
console.log(jsonData);
},
error: function(){
alert("Could not retrieve data.");
}
});
这样您就不需要解析xml
,因为您已经获得了Javascript Object
。