我正在尝试与ajax交友系统和朋友。问题是,当我点击按钮时,什么都不会发生。不会在数据库中插入任何东西。所以这是按钮
<a href="javascript:;" class="newFriend has-tooltip pull-right" data-title="Add as friend" id="'.$id.'"" ><i class="fa fa-user"></i> Add as friends </a>
这是add_friend.php
include 'database.php';
$pdo = Database::connect();
if(!empty($_POST["id"])) {
$friend_id = $_POST['id'];
$id = $_SESSION['id'];
$value = $pdo->prepare('SELECT * FROM user_friends WHERE friend_id= ? and id = ?'); // BDD query, page ID values
$value->bindParam(1, $friend_id, PDO::PARAM_INT);
$value->bindParam(2, $id, PDO::PARAM_INT);
$value->execute();
$result = $value->fetch();
if( $result > 0) {
echo 'already added';
}
else
{
$friend_id = $_POST['id'];
$id = $_SESSION['id'];
$query = $pdo -> prepare("INSERT INTO user_friends (friend_id, id)
VALUES (:friend_id, :id)");
$query -> execute(array(
":friend_id" => $friend_id,
":id" => $id
));
}
还有这个
<script>
$(document).ready(function(){
$('.newFriend', $('.buttons')).click(function(){
$.post('misc/add_friend.php',
{
"id": $(this).attr('id'),
},
function(data){
if(data == 0){
$('#message_newfriend').html('<div id="alertFadeOut" style="color: green">Added as friend!</div>');
$('#alertFadeOut').fadeOut(3000, function () {
$('#alertFadeOut').text('');
});
}
else {
$('#message_newfriend').html('<div id="alertFadeOut" style="color: green">User is already in your friend list!</div>');
$('#alertFadeOut').fadeOut(3000, function () {
$('#alertFadeOut').text('');
});
}
});
});
});
</script>
表是简单的user_friends
-具有行- friend_id (int 4)
和id (int 4)
。
知道有什么问题吗?
发布于 2015-10-22 08:17:26
这条线错了
$('.newFriend', $('.buttons')).click(function(){
^ ^// wrong method
改到,
$('.newFriend, .buttons').click(function(){
发布于 2015-10-22 08:26:32
首先,选择一个浏览器来测试ajax调用。无论是谷歌Chrome还是带有Firebug插件的Firefox都是不错的。我更喜欢火狐。下面是我如何在火狐中使用Firebug进行调试,按F12: firebug打开,然后单击Net选项卡,然后单击XHR,您将在那里看到在浏览器和服务器之间传递的数据。您必须确定问题是在您的客户端脚本上还是在服务器端脚本上。每次提出请求时,都会在XHR下显示一个新的url,单击url字符串开头的加号,在那里可以看到标题、Post、Response、JSON、Cache和cookie选项卡,这些是浏览器和服务器之间来回传递的内容。
Post选项卡显示浏览器发送的数据,Response选项卡显示服务器随后发送的数据。如果有一个由php脚本生成的错误服务器端,您将在那里看到它。
https://stackoverflow.com/questions/33276233
复制相似问题