我有一个返回 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。
我做错了什么?
最佳答案
您的输出不是true
或false
,而是“正确”
或“不正确”
。
如果将数据
与这些值进行比较,您可能会得到更好的结果:
if (data === "correct") {
// correct
} else {
// incorrect
}
哦,是的,您使用的是 json_decode
而不是 json_encode
。
关于php - 获取 Json 返回 true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22147637/