1

我正在使用 $.get() 来获取 RSS 提要。这在 FF 和 chrome 中有效,但在 IE7 或 IE8 中根本不触发。我认为这是标题或编码。

jQuery 函数如下所示:

$(document).ready(function() {
        $.ajaxSetup({
            cache: false
        });

        $.get('/resources/xml/feed.rss', 'xml' , function(data) {
            // This never fires in IE7 or IE8 <----------------------
            alert('GET INITIATED!');

            $('.news-announcements').html('');
            var i = 0;

            $(data).find('item').each(function() {
                if (i < 5) {
                    var $item = $(this);
                    var title = $item.find('title').text();
                    var link = $item.find('link').text();
                    var date = $item.find('pubDate').text();

                    var html = '<blockquote><div class="ItemTitle"><a target="_blank" href="' + link + '">' + title + '</a></div><div class="ItemDate">'+ date +'</div></blockquote>';
                    i++;

                    $('.news-announcements').append(html);
                }
                else {
                    return false;
                }

            });
        });
    });

xml编码如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
4

1 回答 1

0

连字符必须使用 ascii 字符进行转义。我使用以下 jQuery 来确定 IE 将其标记为无效 XML。

$.ajaxSetup({
            cache: false,
            error: function(xhr, status, error) {
              alert(error);
            }
        });

然后我用 ascii 代码转义了我的连字符

&#45;

现在,一切都很好。

于 2013-09-25T21:00:08.537 回答