我在Ajax调用中发送一些数据.其中一个值是布尔值设置为FALSE.它始终在Ajax调用的PHP脚本中被评估为TRUE.有任何想法吗?
$.ajax({
type: "POST",
data: {photo_id: photo_id,
Vote: 1,
undo_Vote: false}, // This is the important boolean!
url: "../../build/ajaxes/Vote.PHP",
success: function(data){
console.log(data);
}
});
在Vote.PHP中,在上面的Ajax中调用的脚本,我检查了布尔值:
if ($_POST['undo_Vote'] == true) {
Photo::undo_Vote($_POST['photo_id']);
} else {
Photo::Vote($_POST['photo_id'], $_POST['Vote']);
}
但总是满足$_POST [‘undo_Vote’] == true条件.
解决方法:
帖子只是文本,文本在PHP中评估为true.快速解决方法是发送零而不是假.您还可以在PHP中使用引号括起来.
if ($_POST['undo_Vote'] == "true") {
Photo::undo_Vote($_POST['photo_id']);
} else {
Photo::Vote($_POST['photo_id'], $_POST['Vote']);
}
然后你可以传入真/假文本.如果这是你喜欢的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。