【发布时间】:2014-05-10 11:03:19
【问题描述】:
我的页面有一个投票表单,用户在表单中投票,提交后将调用 ajax 请求以在表单上显示结果。
在投票时,将创建一个 cookie,标记用户已在投票中投票。这样下次用户访问该页面时,如果找到 cookie,该用户的投票将被禁用。
我的问题是在投票后使用 firefox 并且用户再次点击 url(转到 url 并按 enter)时,用户仍然可以投票。直到用户点击刷新按钮/按 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;
}
【问题讨论】:
标签: javascript html ajax dom cookies