jQuery.Load()在IE9中无法正常工作

时间:2011-05-13 10:59:57

标签: jquery data-binding asp.net-3.5 internet-explorer-9 jquery-load

在我网站的主页上,jquery.load()$(document).ready()运行,并请求以下网址:

“/ AJAX / Listings.aspx?的PageIndex = 0”

运行此页面时,Page_Load() ListView绑定了一个DataSet,该EmptyDataTemplate会返回一些要显示的产品。如果没有项目,则EmptyDataTemplate会显示如下内容:

“目前没有产品”

在我的系统中,应该显示1个产品。在FireFox中,它会被返回并正确显示在页面上。

但是,在Internet Explorer中会显示ListView。此外,如果在IE9浏览器中打开URL(“/ajax/Listings.aspx?pageindex=0”)(作为新标签),则返回1个产品。

为什么IE9在使用jQuery.Load()时没有将任何项目绑定到{{1}}?

2 个答案:

答案 0 :(得分:1)

发布后不久,我回去尝试看看我是否可以自己解决,并相信我找到了解决方案!

因为我在一个单独的标签页面中打开了ajax页面,当我回到主页时,现在正在显示它。

因此,我认为这是缓存的,刷新缓存的唯一方法是在新选项卡中打开它。

所以,我在URL的末尾添加了一个随机字符串,以确保它不会每次都缓存页面:

function random_string() { return String((new Date()).getTime()).replace(/\D/gi, '') }

var url = "/ajax/Listings.aspx?pageindex=0&rnd=" + random_string

答案 1 :(得分:1)

在向URL附加随机字符串时,处理此问题的最佳方法是禁用缓存:

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

取自here