使用函数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";
}
}
答案 0 :(得分:1)
很可能sessionId
是一个空字符串""
。尝试将条件更改为
if(sessionId && sessionId != "null")
这只会检查空字符串不是真值。
答案 1 :(得分:0)
您正在比较不正确的sessionId != null
。
让alert(sessionId)
知道响应值。
尝试:
if(sessionId && sessionId != "null"){
document.getElementById("div").style.display="inline";
}
第一个条件检查sessionId
是否不是undefined
,然后是null
字符串。
答案 2 :(得分:0)
解决方案是,
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g, "");
}
我将sessionId值传递给trim()...
感谢所有帮助过我的人..