我正在使用下面的代码,这些代码适用于某些CE平台,但在其他CE平台上总是会失败。我得到的信息是:
ajaxError: 0 error http://site.com/morepath/?_=1314965250990
所以成功回调不会发生
它也出现在网络浏览器中,所以我希望有人能够指出这个简单的错误,以及为什么它会发生在一些而不是其他的错误上。 好例子:IE9中的错误但适用于谷歌浏览器
Data.fetchData = function() {
var i = 0;
Data.items = new Array();
SS.log("Data.fetchData");
$.ajax({
url: Define.feedURL,
dataType: "xml",
success: function(data) {
$("#items").empty();
$(data).find("item").each(function() {
var item = $(this);
Data.items[i] = {
'title' : item.find("title:first").text(),
'image' : item.find("url").text(),
'subtitle' : Utils.stripChars(item.find("subtitle").text()),
'summary' : Utils.stripChars(item.find("summary").text()),
'video' : item.find("enclosure").attr('url'),
'pubDate' : item.find("pubDate").text(),
'duration' : item.find("duration").text()
};
i++;
});
Grid.build();
}
});
};
答案 0 :(得分:0)
由于您期望来自xml
调用的ajax
响应,因此您应该在使用成功回调之前使用$.parseXML
解析响应,然后遍历它。试试这个。
success: function(data) {
data = $.parseXML(data);
$("#items").empty();
$(data).find("item").each(function() {
var item = $(this);
Data.items[i] = {
'title' : item.find("title:first").text(),
'image' : item.find("url").text(),
'subtitle' : Utils.stripChars(item.find("subtitle").text()),
'summary' : Utils.stripChars(item.find("summary").text()),
'video' : item.find("enclosure").attr('url'),
'pubDate' : item.find("pubDate").text(),
'duration' : item.find("duration").text()
};
i++;
});
Grid.build();
}