Javascript 如何获得处理AJAX函数以返回布尔值的PHP函数?

Javascript 如何获得处理AJAX函数以返回布尔值的PHP函数?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,所以我一直在测试,发现如果 session_start(); if ( $_POST['animal'] != $_SESSION['animal'] ) die(json_encode(false)); 在我的PHP函数中运行,以处理AJAX调用,然后返回到JavaScript中 success: function (correctCaptcha) { console.log("correctCaptcha is " + correctCaptcha

所以我一直在测试,发现如果

session_start();
if ( $_POST['animal'] != $_SESSION['animal'] ) die(json_encode(false)); 
在我的PHP函数中运行,以处理AJAX调用,然后返回到JavaScript中

        success: function (correctCaptcha) {
            console.log("correctCaptcha is " + correctCaptcha); // test
            console.log("correctCaptcha's type is " + typeof (correctCaptcha)); // test
                if ( correctCaptcha )
                {
我发现
correctCaptcha
是字符串“false”,而不是布尔值
false
。因此,输入了
if
块,这就是导致错误的原因。如何让PHP给我一个布尔值作为它生成的JSON?或者什么是更好的解决方案?

您可以这样做

json_encode((bool)1); // which is true

理想情况下,尽管你想做这样的事情

$results = ["result" => false];
json_encode($results);
从文档中,这应该保留布尔值,而不是转换为字符串

然后像这样访问javascript中的结果(作为对象)


简单的解决方案是
if(correctCaptcha==“false”)
@riggsfully显然,但我不想太多地对这个网站的编码进行jerry-Right
$results = ["result" => false];
json_encode($results);
console.log(correctCaptcha.result);