Ada banyak masalah di sini. Pertama, seperti yang dikatakan @Mark, Anda perlu memahami bahwa saat mengirim permintaan ajax ke PHP, Anda mengirim string. Juga, di JS Anda, Anda mengikat fungsi klik ke .heart.canal, tetapi kemudian fungsi tersebut mengubah semua elemen dengan kelas itu daripada elemen yang diklik sebenarnya. Terakhir, setelah Anda mengirim informasi yang benar ke PHP, Anda perlu mencetak hasil Anda untuk melihatnya di ajax.
Coba yang berikut ini:
JS:
$(document).ready(function () {
$(".heart.canal").click(function () {
var $heart = $(this);
if ($heart.data("following")) {
$heart.data("following", false)
} else {
$heart.data("following", true);
}
var usuario = $(".left").find("h4").data("id");
var seguidor = $("#user_account_info").find(".profile_ball").data("id");
$.ajax({
type: "POST",
url: "follow.php",
data: {user: usuario, follower: seguidor, follow: $heart.data("following")},
success: function (result) {
if (result) {
console.log("true");
} else {
console.log("false");
}
}
});
return false;
});
});
PHP:
$user = (int)$_POST["user"];
$seguidor = (int)$_POST["follower"];
$follow = ($_POST["follow"] === 'true') ? true : false;
if ($follow) {
// insert
} else {
// delete
}
print $follow;