GWT中未定义Cookie返回

GWT中未定义Cookie返回,gwt,cookies,Gwt,Cookies,我已经为用户名创建了cookie。工作正常 但我的问题是: 当我清除cookie并尝试Cookies.getCookie(“uname”);然后它将返回undefined而不是null 那么如何处理未定义的值呢 我在尝试,如果未设置uname,则转到其他部分 请帮帮我。是的,就是这样。设计失败,请参见此处 建议的解决方法包括: String val = Cookies.getCookie("uname"); if (val == null || "undefined".equals(val))

我已经为用户名创建了cookie。工作正常

但我的问题是: 当我清除cookie并尝试Cookies.getCookie(“uname”);然后它将返回undefined而不是null

那么如何处理未定义的值呢

我在尝试,如果未设置uname,则转到其他部分


请帮帮我。

是的,就是这样。设计失败,请参见此处

建议的解决方法包括:

String val = Cookies.getCookie("uname");
if (val == null || "undefined".equals(val)) {
  ...
} else {
  ...
}

但通常情况下,即使没有这种变通办法,它似乎也能起作用。在我的例子中,我得到了JavaScript级别的“undefined”,但在Java代码中,检查null就足够了。让代码崩溃的真正问题是几行之后,与getCookie()方法无关。因此,请查看您是否真的确定了存在问题的线路。

确定吗?表示它返回:cookie的值,如果cookie不存在,则返回null。yes@spider。我敢肯定。我正在尝试检查cookie是否为空。但是它从不返回null和undefined。您是否确定没有通过尝试将Cookie设置为
null
serverside将其设置为“undefined”?GWT文档非常明确,我不想一开始就假定它们有bug。当您“清除cookie”时,请检查您的标题。它是返回字符串“undefined”还是抛出一个表示变量“undefined”的异常。这是什么浏览器,如果返回的字符串是“未定义”而不是空的,则听起来像是浏览器问题。我同意其他人的看法,服务器或客户端上的某些内容将cookie设置为“未定义”。您可以尝试清除cookies,关闭浏览器,然后重新打开,看看是否有相同的结果。我在清理cookies时看到了一些奇怪的事情,页面仍然打开着。