1

関数を使用してstoreSessionId()、storedSessionの値を取得し、AJAXを使用してサーブレットから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

解決策は、

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

sessionId 値を trim() に渡しました...

私を助けてくれたすべての人に感謝..

于 2012-11-16T09:06:32.087 に答える
0

sessionId != nullどちらが間違っているかを比較しています。

応答alert(sessionId)値を知る。

試す:

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

最初の条件は、sessionIdそうでないかどうかをチェックundefinedし、次にnull文字列をチェックします。

于 2012-11-07T11:10:52.743 に答える