Тук има много проблеми. От една страна, както каза @Mark, трябва да разберете, че когато изпращате ajax заявки към PHP, вие изпращате низове. Също така във вашия JS вие свързвате функция за щракване към .heart.canal, но след това функцията променя всички елементи с този клас, а не с действително щракнатия елемент. И накрая, след като изпратите правилната информация на PHP, трябва да отпечатате резултатите си, за да ги видите в ajax.
Опитайте следното:
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;