IE8中jQuery.ajax()的突出问题?

时间:2010-03-23 06:39:45

标签: jquery ajax internet-explorer internet-explorer-8

我使用这个jQuery .ajax()调用将feed-items加载到ul中,我基本上从http://www.makemineatriple.com/2007/10/bbcnewsticker/取消了

var timestamp = true; //set whether timestamp is displayed in
          $.ajax({
            type: "GET",
            url: "sample-feed.xml",
            dataType: "xml",
            success: function(xml) {                  
              $(xml).find('item').each(function(){
            var title = $(this).find('title').text();
            var link = $(this).find('link').text();
            if(title.length >=57){              
                title = title.substring(0,54) + "..."; 
            }
            var addItem = '<li class="tickerTitle"><a href="'+link+'">'+title+'</a>';
            if (Boolean(timestamp)== true){
                var time = new Date(Date.parse($(this).find('pubDate').text()));
                addItem +='<span class="timestamp">' + makestamp(time) +'</span></li>';
            }

            $('ul#news').append(addItem);
          });

它可以在Chrome 4和Firefox 3.6中运行,但我在IE8中加载它,不知何故ajax调用失败。我曾尝试使用IE8的开发人员工具来查看它确实失败的地方,但我还没有成功。

所以有两个问题

  1. 我的ajax调用是否有任何明显错误,可能会阻止我在IE浏览器中看到它在FF / Chrome中运行?
  2. 对于这个特定的jQuery方法,我是否需要针对Internet Explorer系列浏览器做出特殊考虑?
  3. 我已经在谷歌上做了一些谷歌搜索,但没有明显的事情发生。

    另一个注意事项:由于同一站点上的一些遗留脚本,我目前正在使用jQuery 1.3.2。我确实尝试加载1.4.2,它在IE8上有相同的结果

2 个答案:

答案 0 :(得分:1)

您是否在本地文件系统中进行测试?然后你最有可能获得“拒绝访问”,因为每个文件都被计为不同的来源,并且IE应用“同源政策”。

如果它已经在服务器上,我建议您使用Fiddler工具(http://fiddlertool.com)查看计算机和服务器之间的HTTP流量,以查看是否实际发出了ajax调用。

答案 1 :(得分:0)

我知道这已经过时了但除了Access Denied问题之外,上面的代码示例中还有一些缺少大括号和paren:

        } //ends success function 
    }); // ends ajax object and method