2
我已经为用户名创建了cookie。它的工作正常。Cookie返回在GWT中未定义
但我的问题是: 当我清除cookie并尝试Cookies.getCookie(“uname”);那么它将返回undefined insted为null。
那么如何处理未定义的值?
我想,如果uname没有设置,然后去其他部分;
请帮帮我。
我已经为用户名创建了cookie。它的工作正常。Cookie返回在GWT中未定义
但我的问题是: 当我清除cookie并尝试Cookies.getCookie(“uname”);那么它将返回undefined insted为null。
那么如何处理未定义的值?
我想,如果uname没有设置,然后去其他部分;
请帮帮我。
是的,就是这样。失败的设计,请看这里
https://code.google.com/p/google-web-toolkit/issues/detail?id=2994
建议的解决方法的工作原理:
String val = Cookies.getCookie("uname");
if (val == null || "undefined".equals(val)) {
...
} else {
...
}
但通常看来,即使没有此解决办法工作。在我的情况下,我得到了JavaScript级别的“未定义”,但在Java代码中,检查null值就足够了。让代码崩溃的真正问题在几行之后,并且与getCookie()方法没有任何关系。所以看看你是否真的确定了问题的关键。
你确定吗? [JavaDoc](http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/Cookies.html)表示它会返回:_该cookie的值,如果cookie不存在,则返回null 。 – 2014-10-02 10:18:56
是@spider。我确定。我正在尝试检查cookie是否为空。但它永远不会返回null并返回undefined。 – 2014-10-02 10:38:36
您是否肯定您没有将Cookie设置为“undefined”,方法是将其设置为'null'服务器端? GWT文档非常明确,我不想在第一时间假设他们身边有bug。当你“清除cookie”时检查你的标题。 – 2014-10-02 10:44:58