我有一个页面,其中有一个投票表单,用户在表单中投票并在提交时会调用一个ajax请求在表单上显示结果。表格上的Firefox会话/ cookie处理
投票后,将创建一个cookie,标记该用户已投票投票。因此,下次用户访问该页面时,如果找到该cookie,该用户的投票将被禁用。
我的问题是当投票后使用firefox和用户点击url(转到url并按回车),用户仍然可以投票。直到用户点击刷新按钮/按F5,用户才被检测为投票。
这似乎只发生在Firefox和Chrome和IE上。
如果需要,我会很乐意提供更多信息。
我的创建和获取cookie的方法是在我的java类中。
public static void addCookie (RequestContext context, String key, String value){
Cookie cookie = new Cookie(key, value);
cookie.setMaxAge(60 * 60 * 24 * 365);
context.getResponse().addCookie(cookie);
}
public static String getCookieValue(RequestContext context,
String cookieName, String defaultValue) {
String value;
CookieHash cookies = context.getCookies();
Cookie cookieValue = cookies.getCookie(cookieName);
if (cookieValue == null) {
value = defaultValue;
} else {
value = cookieValue.getValue();
}
return value;
}