Javascript Widget和服务器缓存问题

时间:2014-06-26 14:38:18

标签: php ajax caching varnish

我构建了一个显示弹出窗口的Magento和Wordpress模块​​。一些用户首选项(例如,如果用户已经看过特定的弹出窗口,多少次等)使用序列化功能作为数组存储在单个cookie中。该模块插入页头javascript。

<script type="text/javascript" src="http://www.thesamepageurl.com/js/modulescript.js"></script>

modulescript.js然后在同一站点内对php脚本进行ajax调用,并将响应附加到html body。这个php脚本检查用户cookie并依赖于它打印不同弹出内容的cookie值,因此响应可能每次都不同。

问题在于,在某些情况下,整个html缓存在服务器端(使用清漆缓存或其他服务)。我不知道为什么,但即使ajax调用响应被缓存,因此它也向关闭它的用户显示弹出窗口或者它从未显示弹出窗口,因为当某些用户关闭它时,不再显示缓存。为了防止我添加了一些虚拟POST参数。使用POST方法时,它不再被缓存。

jQuery.ajax({
  type: "POST",
  url: urlAction,
  data:'justsomething=1',
  success: function(response){  
    jQuery("body").append(response);              
  }           
}); 

问题: 这是一种安全的方式,将在javascript中使用POST ajax请求阻止整个页面被缓存(javascript所在的页面)或者它将阻止缓存仅用于使用ajax调用的url?我不想阻止整个网站被缓存。

0 个答案:

没有答案