Il y a de nombreux problèmes ici. D'une part, comme l'a dit @Mark, vous devez comprendre que lorsque vous envoyez des requêtes ajax à PHP, vous envoyez des chaînes. De plus, dans votre JS, vous liez une fonction de clic au .heart.canal, mais la fonction modifie ensuite tous les éléments avec cette classe plutôt que l'élément cliqué réel. Enfin, une fois que vous avez envoyé les bonnes informations à PHP, vous devez imprimer vos résultats afin de les voir en ajax.
Essayez ce qui suit :
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;