我的PHP代码用不同的字符串响应AJAX调用,这取决于...所以我想测试响应,但我无法做到。我发现responseText是未定义的类型,因此尝试了类型转换:
if (String(xmlhttp.responseText)=="OK")
{
// do something
} else
{
// display the responseText
document.getElementById(spanID).innerHTML=xmlhttp.responseText;
}
猜猜显示什么?好。 (同样没有类型转换)。为什么呢?
答案 0 :(得分:1)
如果确实没有超过我们在这里看到的内容,那么您的字符串必须包含空格或其他不可打印的字符。在进行比较之前尝试修剪它。
编辑还尝试将控制台日志记录放在“if”和“else”块中 - 也许你的方法被意外多次调用,并且存在奇怪的竞争条件。
答案 1 :(得分:0)
尝试以下方法:
var text = xmlhttp.responseText.trim();//use trim()
if (text=="OK"){
// do something
}else{
// display the responseText
document.getElementById(spanID).innerHTML=xmlhttp.responseText;
}