获取Json返回true或false

时间:2014-03-03 13:07:13

标签: php jquery ajax json

我有一个返回true或false的switch语句和一个if和else语句然后我用它来进行更多的验证。

因为值是使用ajax在输入字段上发送的。我希望PHP返回true或false。

我已经尝试使用JSON,我使用警报来测试我要回来的内容以及它的大量html。

$a = isset($_POST['ccode']) ? $_POST['ccode'] : NULL;

    function isValid($Code) {
        switch ($Code){
            case "123":
            case "45545":
             return true;
        default: 
            return false;
        }
    }

if(isValid($a)) {
        $correct = "correct";
       echo json_decode($correct);
    }
    else {
        $incorrect = "incorrect";
        echo json_decode($incorrect);
    }

AJAX

 $('#ccode').blur(function() {
    var code = $(this).val();

  $.ajax({
        type:'POST',
          url: 'index.php',
          dataType: 'json',
          data:{
            ccode:code
          },
          success: function(data) {
          alert(data);
          }
  });

当您看到提醒(数据)时 我打算用

替换它
if (data == false) {
//do this
}

});

我的代码不会从php返回true或false,并且在警报中它只是从我的索引页面输出大量的html。

我做错了什么?

4 个答案:

答案 0 :(得分:3)

您的输出不是truefalse,而是"correct""incorrect"

如果您将data与这些值进行比较,您可能会获得更好的结果:

if (data === "correct") {
    // correct
} else {
    // incorrect
}

哦,是的,你正在使用json_decode代替json_encode

答案 1 :(得分:0)

替换你的PHP

echo json_decode($incorrect);

echo json_enecode(array("success"=>$incorrect));

然后在javascript中解析这个json。

答案 2 :(得分:0)

替换你的PHP

echo json_decode($incorrect);

echo json_encode(array("error"=>false, "message"=>$incorrect));

然后在javascript中解析这个json。

并在jquery

中这样做
if (data.error == false) {
//do this
}

答案 3 :(得分:0)

你的$ correct变量应该是这样的数组

$correct = ['isValid'=> true]

然后你编码那个

在您的成功jquery回调函数中,您可以调试它以检查结果值

alert(data.isValid)