Có rất nhiều vấn đề ở đây. Đối với một, như @Mark đã nói, bạn cần hiểu rằng khi gửi yêu cầu ajax đến PHP, bạn đang gửi chuỗi. Ngoài ra, trong JS của bạn, bạn đang ràng buộc một hàm nhấp chuột với .heart.canal, nhưng sau đó hàm thay đổi tất cả các phần tử với lớp đó chứ không phải là phần tử được nhấp thực sự. Cuối cùng, khi bạn gửi thông tin phù hợp tới PHP, bạn cần in kết quả của mình để xem nó trong ajax.
Hãy thử những cách sau:
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;