响应Ajax请求我的php文件echo true
或echo false
。在我的JavaScript文件中,我想根据响应调用两个函数之一。我显示了xmlhttp.responseText
的内容,发现它是1,所以我尝试了
if(xmlhttp.responseText == 1)
{
funcA()
}
else
{
funcB()
}
和
if(xmlhttp.responseText === 1)
{
funcA()
}
else
{
funcB()
}
但始终会调用funcB()
。如果我想在响应为true时调用funcA()
,我应该在JavaScript if语句中检查什么?
好的,所以一个答案说要将整数转换为字符串,另一个人说要将字符串解析为整数。我试过并且都工作,一种方法比另一种更快?
有些时候我坚信不应该低估问题,这就是其中之一。如果我尝试在PHP页面中输出内容,那么我没有看到的一个短暂的结果(例如echo()
或var_dump()
)然后此JavaScript将始终评估为true。
答案 0 :(得分:2)
当responseText
成为字符串时,您正在进行完全匹配。您可以将responseText强制转换为整数(通过parseInt()
)或进行宽松检查(将===替换为==)。这两种解决方案都可以解决问题。
答案 1 :(得分:1)
如果php回显一个布尔值,你应该能够在这样的条件下检查响应:
if (xmlhttp.responseText) {
funcA();
else {
funcB();
}
条件会自动转换为布尔值。