Javascript Chrome和Firefox在处理xml字符串方面的差异
我在两种浏览器中解析从ajax请求获得的XML字符串时遇到了一些问题。当我这样做的时候Javascript Chrome和Firefox在处理xml字符串方面的差异,javascript,jquery,xml,google-chrome,firefox,Javascript,Jquery,Xml,Google Chrome,Firefox,我在两种浏览器中解析从ajax请求获得的XML字符串时遇到了一些问题。当我这样做的时候 totalResults = parseInt($(data).find("totalResults").text()); 我得到一个值,但是在Firefox中,当执行同一段代码时,我得到“NaN” 两种浏览器中的.typedata都将数据报告为“对象”。有人知道我如何在这两种浏览器中都获得这个值吗?几天来,我完全被这件事难住了: 编辑: 一些代码示例: function getAllProgrammes(
totalResults = parseInt($(data).find("totalResults").text());
我得到一个值,但是在Firefox中,当执行同一段代码时,我得到“NaN”
两种浏览器中的.typedata都将数据报告为“对象”。有人知道我如何在这两种浏览器中都获得这个值吗?几天来,我完全被这件事难住了:
编辑:
一些代码示例:
function getAllProgrammes()
{
requestAll().done(function (items) {
console.log(items, $.parseXML(items));
$(items).find('entry').each(function () {
programme = parseProgramme($(this));
$programmesData.push(programme);
});
// Now we can parse all the data and create a list :)
parseProgrammesData($programmesData);
$("#found").append('Found ' + $totalCount + ' programmes');
});
return;
然后调用requestall
function requestAll() {
return requestItems(1, 999, []);
}
function requestItems(pageStart, pageEnd, items) {
return request(pageStart, pageEnd).then(function (data) {
totalResults = parseInt($(data).find("totalResults").text());
console.log('total ', totalResults, ' xml ', $.type(data));
if (pageEnd > totalResults || isNaN(totalResults)) {
return items;
} else {
$("div#status").html('Loading events from ' + pageEnd + ' to ' + totalResults);
return requestItems(pageEnd, pageEnd + 999, items.concat(data));
}
});
}
请求只执行ajax调用
function request(pageStart, pageEnd) {
$requestParams['startindex'] = pageStart;
$requestParams['endindex'] = pageEnd;
return $.ajax({
url: "http://blahurl",
method: 'GET',
dataType: 'xml',
data: $.param($requestParams)
});
}
我询问的区域是console.log:console.log'total',totalResults',xml',$.typedata
在firefox中,它给了我total NaN xml对象,而在chrome total 1867中,它给了我xml对象
所以我想从中提取我需要的信息
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:os="http://a9.com/-/spec/opensearch/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:yv="url"><atom:id>someid</atom:id><atom:link rel="self" type="application/atom+xml" href="request&startindex=1&endindex=999"/><atom:title>search</atom:title><atom:updated>2015-04-17T13:22:36Z</atom:updated><atom:author><atom:name>name</atom:name><atom:uri>uri</atom:uri></atom:author><os:totalResults>2010</os:totalResults><os:startIndex>1</os:startIndex><os:itemsPerPage>999</os:itemsPerPage>
我想从它和其他类似的东西中提取一些东西,但我对JS中的xml解析不太熟悉。你能发布一个这样的xml字符串示例吗?请发布更多的代码以提供更多的上下文。此外,您的数据应该是一个“对象”——它是javascript中最基本的形式。你有没有做些什么来深入研究这个问题?两种浏览器都能正确地找到totalResults吗?也许可以试着将它打印到javascript控制台并手动检查。嗨,对不起,我发布了代码和示例xml,感谢您的帮助:同样,当我在IE中运行相同的代码时,它会挂起ajax调用,甚至不会进行调用。我在网吧里根本找不到,有什么想法吗?