我怎样才能获得一个处理AJAX函数的PHP函数来返回一个布尔值?

时间:2015-12-09 00:06:31

标签: 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); // test
            console.log("correctCaptcha's type is " + typeof (correctCaptcha)); // test
                if ( correctCaptcha )
                {

我看到correctCaptcha是字符串" false"而不是布尔值false。因此,输入了if块,这是导致错误的原因。我怎样才能让PHP给它一个布尔值作为它生成的JSON?或者什么是更好的解决方案?

1 个答案:

答案 0 :(得分:2)

你可以做到

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

或者

json_encode((bool)0); // which is false

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

$results = ["result" => false];
json_encode($results);

从文档中,这应该保留布尔值,而不是转换为字符串。

然后在你的javascript中访问结果(作为对象)

console.log(correctCaptcha.result);