यहां कई समस्याएं हैं। एक के लिए, जैसे @ मार्क ने कहा, आपको यह समझने की जरूरत है कि PHP को AJAX अनुरोध भेजते समय, आप स्ट्रिंग भेज रहे हैं। इसके अलावा, आपके जेएस में, आप एक क्लिक फ़ंक्शन को .heart.canal पर बाध्य कर रहे हैं, लेकिन फिर फ़ंक्शन वास्तविक क्लिक किए गए तत्व के बजाय उस वर्ग के सभी तत्वों को बदल देता है। अंत में, एक बार जब आप PHP को सही जानकारी भेज देते हैं तो आपको अपने परिणामों को अजाक्स में देखने के लिए प्रिंट करना होगा।
निम्न का प्रयास करें:
जेएस:
$(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;
});
});
पीएचपी:
$user = (int)$_POST["user"];
$seguidor = (int)$_POST["follower"];
$follow = ($_POST["follow"] === 'true') ? true : false;
if ($follow) {
// insert
} else {
// delete
}
print $follow;