1

使用该函数storeSessionId(),我检索了 storedSession 的值并使用 AJAX 从 servlet 分配给 sessionId。

   var storedSession;
   var sessionId;       

function storeSessionId(){
    try
    {
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                storedSession = xmlhttp.responseText.toString();
                sessionIdValue(storedSession);

            }
        };
        xmlhttp.open("POST","JoinAction?subject="+subject+"&userId="+userId+"&secureKey="+secureKey,true);
        xmlhttp.send();
    }
    catch(err)
    {
        alert(err.description);
    }
}

当我比较时,sessionId!=null只有我的 div 会显示,否则无法显示。

但即使我sessionId==null也得到了,我的 div 也被显示了。我的 div 在这两种情况下都显示。

function sessionIdValue(storedSession){
    sessionId = storedSession;
    if(sessionId != null && sessionId != "null"){
        document.getElementById("div").style.display="inline";
    }
}
4

3 回答 3

1

很可能sessionId是一个空字符串""。尝试将条件更改为

if(sessionId && sessionId != "null")

这只会检查空字符串不是的真实值。

于 2012-11-07T11:05:28.280 回答
0

您正在比较sessionId != null哪个不正确。

知道alert(sessionId)响应值。

尝试:

if(sessionId && sessionId != "null"){
 document.getElementById("div").style.display="inline";
}

第一个条件检查是否sessionId不是undefined,然后检查null字符串。

于 2012-11-07T11:10:52.743 回答
0

解决方案是,

function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g, "");
}

我将 sessionId 值传递给 trim()...

感谢所有帮助过我的人。。

于 2012-11-16T09:06:32.087 回答