PHP Ajax我想永久改变

时间:2013-04-25 19:10:01

标签: php javascript ajax

我有一个“Add as Buddy”按钮,我希望它永久更改为“待处理请求”,直到我点击它确认请求为止。当我点击按钮时,是的,它会变为“待处理请求”,但每当我刷新页面时,它都会恢复为“添加为伙伴”。关于我应该如何做的任何帮助?

PHP PART

<div class="member" data-user="<?php echo $member['xmpp_user']; ?>" data-uid="<?php echo $member['uid']; ?>">
    <img src="https://s3.amazonaws.com/wheewhew/user/<?php echo $member['uid']; ?>/photos/<?php echo $member['profile_pic']; ?>" />
    <div class="member_name"><?php echo $member['firstname']." ".$member['lastname']; ?></div>
    <div id="addbutton"><button type="submit" class="add" id="<?php echo $member['uid']; ?>"> Add as Buddy </button></div>
</div>

JS PART

function addBuddy(){
    var xmpp_user = $(this).parent().parent().attr('data-user')+'@example.com/default';
    var to_uid = $(this).parent().parent().attr('data-uid');

    $.ajax({
        type: "POST",
        url: "./ajax/addBuddy",
        data: "from_uid="+uid+"&to_uid="+to_uid,

       success: function(data) {
          var ret = eval('('+data+')');
          if(ret.status == 'success'){
            connection.send($pres({to:xmpp_user,type:'subscribe'}).tree());
          }
          else if(ret.status == 'requested'){
            document.getElementById(to_uid).innerHTML="Pending Request";
          }
        }

    });
}

2 个答案:

答案 0 :(得分:0)

那是因为,在您的PHP代码中,您没有检查是否有待处理的请求。你也可能想知道这是否是你应该做的事情。

考虑一下您希望UX如何工作以及它是否有意义。

答案 1 :(得分:0)

你应该存储该用户在某个地方有邀请,通常这是在数据库中完成的,存储后你可以做这样的事情

<div id="addbutton">
<button type="submit" class="add" id="<?php echo $member['uid']; ?>"> 
<?php echo $has_request? "Pending Request":"Add as Buddy"?> 
</button></div>