2009-10-07 66 views
1

我正在处理以下页面。jQuery AJAX parsererror

http://www.ranger.ryerson.ca/library/test/steveDev/testcarousel/test.html

它在火狐,Chrome和Opera,但在IE6,IE7和Safari(神抛弃的浏览器),他们都给我 “parsererror”

我的页面使用jQuery的XML解析器和不好的浏览器都不喜欢它。陷入困境的代码如下

$.ajax({ 
     type: "GET", 
     url: "http://www.ranger.ryerson.ca/library/test/steveDev/testcarousel/readXML.cfm", 


     dataType: "xml", 
     success: function(xml) { 
      $(xml).find('images').each(function(){ 
       $(this).find('pic').each(function() { 
        temp= '<a href="'+$(this).find('link').text()+'"><img src="'+$(this).find('thumbnail').text()+'" width="'+$(this).find('width').text()+'" style="border-style: none" height="75" title="'+$(this).find('alt').text()+'"alt="'+$(this).find('alt').text()+'" /></a>'; 
        carousel.add(count, temp); 
        count++; 
       }); 
       carousel.size(count); 
      }); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown){ 
      alert(textStatus); 
     } 

    }) 

我怎么能解决我的问题

+0

祝你好运jCarousel;那个插件让我疯狂。 – 2009-10-07 15:19:34

+0

这是ajax调用去一个不同的域名?是这样,也许这是一个jsoncallback问题?只是一个猜测。 – 2009-10-07 15:21:43

+0

我得到的传送带部分工作,我的问题是解析一些输入它 – 2009-10-07 15:21:43

回答

2

有此节点上遇到了一个编码错误:

<alt>Eugénie</alt> 
上线97

我注意到你指定encoding="utf-8"作为编码。你确定"é"真的用utf-8编码吗?

+0

从来没有注意到。我如何逃避这个角色? – 2009-10-07 15:25:48

+0

使用正确的UTF-8序列:'é' – 2009-10-07 15:33:52

+0

或者...... HTML实体:'&eacute;',或以Unicode编码字符的另一种方式:'U + 00E9'。请记住,HTML实体会使XML解析器不愉快,除非它已被定义(请参阅http://en.wikipedia.org/wiki/Character_encodings_in_HTML#XML_character_entity_references)。 – 2009-10-07 15:37:16