我有这样的代码用于设置变量isItemLocked的值。
function authorItem(itemNumber){
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
url ="Some URL";
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
var isItemLocked = xmlhttp.responseText;
if(isItemLocked){
alert('Item has been Closed.Click OK to go to Search Page');
window.location = "SOME OTHER URL";
}else{
var url ="SOME OTHE URL 1";
location.href = url;
}
}
}
}
每次我要访问某些其他URL时,isItemLocked.But的返回布尔值为true。任何解决方案?
答案 0 :(得分:4)
xmlhttp.responseText
不返回布尔值,它返回一个字符串,"false"
为true
。
执行字符串比较。
if (isItemLocked === 'true') {
// Do one thing
} else if (isItemLocked === 'false') {
// Do a different thing
} else {
// You have an unexpected response from the server and should handle the error
}
答案 1 :(得分:1)
试试这个:
var isItemLocked = xmlhttp.responseText.toString().toLowerCase() == "true";
responseText
以字符串形式返回,因此您需要检查它是否等于字符串“true”