Det finns många problem här. För det första, som @Mark sa, måste du förstå att när du skickar ajax-förfrågningar till PHP, skickar du strängar. I din JS binder du också en klickfunktion till .heart.canal, men då ändrar funktionen alla element med den klassen snarare än det faktiska klickade elementet. Slutligen, när du väl skickat rätt information till PHP måste du skriva ut dina resultat för att se det i ajax.
Prova följande:
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;