处理Chrome和Firefox之间的xml字符串的区别

时间:2015-04-17 09:11:30

标签: javascript jquery xml google-chrome firefox

我在解析我从两个浏览器中的ajax请求获得的XML字符串时遇到了一些麻烦。在我做Chrome时

totalResults = parseInt($(data).find("totalResults").text());

我得到了一个值,但是在Firefox中我得到了NaN'当同一段代码被执行时。

据报道,数据是一个'两种浏览器中的.type(数据)。任何人都知道如何在两种浏览器中获得相应值?几天来完全被这件事困住了:(

编辑:

一些代码示例:

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(&#39; total&#39;,totalResults,&#39; xml&#39;,$ .type(data)); < / p>

在Firefox中它给了我&#34;总计&#34; NaN&#34; xml&#34; &#34;对象&#34;而在chrome总计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&amp;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解析。

0 个答案:

没有答案