Php 获取Json返回true或false

Php 获取Json返回true或false,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我有一个switch语句,它返回true或false,还有一个if和else语句,然后我用它进行更多的验证 因为值是使用ajax在输入字段上发送的。我希望PHP返回true或false 我使用JSON尝试了这个方法,我使用一个警报来测试我得到了什么,它只是大量的html $a = isset($_POST['ccode']) ? $_POST['ccode'] : NULL; function isValid($Code) { switch ($Code){

我有一个switch语句,它返回true或false,还有一个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


我做错了什么?

您的输出不是
true
false
,而是
“正确”
“不正确”

如果将
数据
与这些值进行比较,可能会得到更好的结果:

if (data === "correct") {
    // correct
} else {
    // incorrect
}
哦,是的,您在PHP中使用的是
json\u decode
而不是
json\u encode

替换

echo json_decode($incorrect);
echo json_decode($incorrect);

然后在javascript中解析这个json。

在PHP中替换

echo json_decode($incorrect);
echo json_decode($incorrect);

然后在javascript中解析这个json

在jquery中这样做

if (data.error == false) {
//do this
}

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

$correct = ['isValid'=> true]
然后你对它进行编码

在success jquery回调函数中,可以调试它以检查结果值

alert(data.isValid)

为什么要回显json_解码?它应该是json_encode@abbiya谢谢,但是我的
如果(data==true)
不起作用。嗨,对不起,“不起作用”不是我可以使用的描述。这些是什么。后置em