我正在接触Jquery。
问题:我希望用户能够通过在fancybox中打开细节进行编辑来更新动态生成列表中的信息(因此我使用.live并单击)。所有工作除非用户打开一个fancybox然后更新信息(它发布正常并使用下面更新数据库)然后关闭并重新打开fancybox窗口,动态生成的内容重新加载不变。我猜测浏览器正在缓存页面。如何在重新打开facnybox窗口时强制加载更新的信息?
此外,如果您可以建议以下代码是否可以改进。
$(document).ready(function() {
$("#UpdateLink").live('click', function() {
$('#txtHint1').fadeIn('fast').html('<img src="ajax-loader.gif" />');
var formData = $('#UpdateLinkForm').serialize();
$.ajax({
type: "POST",
url: "Link-Updater.asp",
data: formData,
success: function(d) {
$('#txtHint1').empty().html(d).delay(800).fadeOut('slow');
}
});
});
});
谢谢。
答案 0 :(得分:0)
您可以尝试为AJAX调用禁用缓存:
// Disable caching of AJAX responses
$.ajaxSetup ({
cache: false
});
答案 1 :(得分:0)
如果上述缓存选项失败,则第二种方法是将随机字符串参数附加到URL。我建议使用当前的时间戳,因此它的内容如下:
Link-Updater.asp?rand=123456789
字符串本身在javascript中相对容易构建。