在我网站的主页上,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}}?
答案 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