我有一个switch语句,该语句返回true或false以及一个if and 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
,而是"correct"
或"incorrect"
。
如果将data
与这些值进行比较,则可能会得到更好的结果:
if (data === "correct") {
// correct
} else {
// incorrect
}
哦,是的,您使用的是
json_decode
而不是json_encode
。