在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

回到顶部