Jquery AJAX:如何重定向页面,然后刷新一次
我将此代码与ajax结合使用,在编辑数据(如在论坛中编辑帖子)后,从A页重定向到B页。 但当B页完成加载后,B页在我编辑它之前会显示一个旧数据(旧帖子),我必须刷新它一次以显示新数据Jquery AJAX:如何重定向页面,然后刷新一次,jquery,ajax,Jquery,Ajax,我将此代码与ajax结合使用,在编辑数据(如在论坛中编辑帖子)后,从A页重定向到B页。 但当B页完成加载后,B页在我编辑它之前会显示一个旧数据(旧帖子),我必须刷新它一次以显示新数据 如何使页面B在从页面a重定向后立即显示新数据而不进行刷新。代码正在工作,看起来像是浏览器缓存问题。您可以在标记中添加元标记 $(document).ready(function() { $("#postform").live("submit",function(){ var datastri
如何使页面B在从页面a重定向后立即显示新数据而不进行刷新。代码正在工作,看起来像是浏览器缓存问题。您可以在
标记中添加元标记
$(document).ready(function() {
$("#postform").live("submit",function(){
var datastring=$(this).serialize();
var postid=$(this).("post_id").serialize();
$.ajax({
type: "POST",
url: "post_edit_save.php",
data: datastring,
cache : false,
success: function(html){
window.location.href='post_info.php?post_id='+postid;
}
});
return false;
});
});
或者,您可以按照注释中的建议在url中添加随机查询字符串。浏览器不会加载任何新内容,因为您可能正在将
位置。href
设置为等于当前位置
如果您已经在post_info.php?post_id=123
上,并且将location.href
设置为相同的地址,则不会发生任何事情。将不会加载该页
所以这不是缓存问题。相反,您应该调用
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
…在你的成功回访中
这将重新加载页面并显示新数据。您需要向我们显示更多代码,尤其是整个
$。ajax
调用。如果浏览器正在缓存页面B,您可以通过在查询字符串中添加类似于&cachebuster='+Math.random
的内容来解决此问题。@sberry您应该将其作为答案发布。无关:.live()
已弃用(在jQuery 1.9中删除),您应该改用.on()
。@sberry是的!这就是答案
location.reload();