2013-04-05 45 views
0

我的代码在IE10中(或以前)在我的工作计算机上不起作用,但似乎在我的家用计算机上正常工作。我不认为它甚至提出请求,因为我设置了断点并在网络选项卡中看不到任何内容。我已经阅读了很多有关在IE中使用$ .ajax缓存问题的文章,并尝试过缓存解析器和$ .get等,但我不认为这是问题所在。你可以在timmygcentral.com上看到这个(脚本在index.html中的loadReccomendations函数中)。它必须是一些安全问题(因为它只发生在我的工作网络在IE中,它可以在我的工作网络在Chrome/FF中正常工作,并在所有浏览器中在我的家庭网络上正常工作)。jQuery.ajax在任何IE中都不工作

var tgc_recommendations_uri = "https://spreadsheets.google.com/feeds/list/0AsRjUFPfaIWvdGxPT3U0ZGRNUnFGakwwQnpKQi1Hbnc/od6/public/values?alt=json"; 
$.ajax({ 
    cache: false, 
    type: "GET", 
    contentType: "application/json", 
    url: tgc_recommendations_uri, 
    format: "jsonp", 
    success: function(data){ 
    $('#recCarousel').css('opacity','0') 
    var template = "..."; 
    var html = Mustache.to_html(template, data.feed); 
    } 
}); 
+1

包括async:false由于您使用JSONP,它不应该是一个跨域的问题。 contentType可以保留,因为它是jsonp,并且如果失败,您会在控制台中看到错误。另外,'格式:“jsonp”'应该是'dataType:“jsonp”' – 2013-04-05 14:13:22

+0

好!用dataType替换格式工作! – timmyg13 2013-04-05 14:21:52

+0

good catch @KevinB +1 – iGanja 2013-04-05 16:56:45

回答

0

在你的Ajax

像这样

var tgc_recommendations_uri = "https://spreadsheets.google.com/feeds/list/0AsRjUFPfaIWvdGxPT3U0ZGRNUnFGakwwQnpKQi1Hbnc/od6/public/values?alt=json"; 
$.ajax({ 
    cache: false, 
    type: "GET", 
    contentType: "application/json", 
    url: tgc_recommendations_uri, 
    format: "jsonp", 
    async:false, 
    success: function(data){ 
    $('#recCarousel').css('opacity','0') 
    var template = "..."; 
    var html = Mustache.to_html(template, data.feed); 
} 
}); 
+0

'async:false'如何提供帮助? – jrummell 2013-04-05 13:56:16

+0

当你在某个地方的某个地方删除“异步”行为时,可能有些小狗死亡。不要这样做PLZ – kidwon 2013-04-05 13:58:16

+0

反正没有工作。这可能是一个跨域问题吗?控制台或任何东西都没有出现。 – timmyg13 2013-04-05 13:59:43