[英]Change session variables without reloading page
因此,我的网页上有一个“链接remove Advertisment
链接,该链接应从我的网站中删除广告,并记住在剩余的会话中不展示任何广告。
我最初的方法是在控制器中使用私有静态变量,可以通过方法设置。
private static boolean Ads = true;
public static void closeAds() {
Logger.debug("Ads removed");
Ads = false;
}
我做了一些研究,发现play框架提供的session()
方法可能更合适。
无论如何,我的问题是,我不知道如何在html页面中调用那些控制器方法,因为每个HTTP请求都必须具有响应,并且我不想重新加载页面,所以我只想设置变量或会话变量。
我以为Ajax可能是答案? 我还没想出什么
Play将会话信息保留在客户端的签名Cookie中。
因此,您有2个选择(我会选择第二个):
1)Ajax调用来更新播放的会话数据(因为您不想在客户端使用javascript修改它,因为它是一个签名的cookie并破坏了东西)
2)创建另一个cookie,以保持广告的开/关标志,并在客户端通过javascript对其进行修改,然后您可以在服务器端检查此cookie的值以实现广告的开/关。 这将防止您进行额外的ajax调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.