在jQuery ajax数据中发送布尔值
我正在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);
}
});
在上面的Ajax中调用的脚本vote.php中,我检查了布尔值:
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。一种快速的解决方法是发送零而不是false。您也可以在PHP中用引号引起来。
if ($_POST['undo_vote'] == "true") { Photo::undo_vote($_POST['photo_id']);
} else {
Photo::vote($_POST['photo_id'], $_POST['vote']);
}
然后,您可以传递正确/错误的文本。如果那是您的首选。
以上是 在jQuery ajax数据中发送布尔值 的全部内容, 来源链接: utcz.com/qa/424727.html