var friendRequestURL = "scripts_for_profile/request_as_friend.php";
function addAsFriend(a,b) {
$("#add_friend_loader").show();
$.post(friendRequestURL,{ request: "requestFriendship", mem1: a, mem2: b, thisWipit: thisRandNum } ,function(data) {
$("#add_friend").html(data).show().fadeOut(12000);
$("#friends").html('<div id="land"><a href="#" onclick="return false" onmousedown="toggleInteractContainers(\'cancel_request\');" >Cancel Request</a></div>').show();
});
}
function cancel_request(x) {
$.post(friendRequestURL,{ request: "cancel", reqID: x, thisWipit: thisRandNum } ,function(data) {
$("#cancel_request").html(data).show().fadeOut(12000);
$("#land").html('<div id="friends"><a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'add_friend\');">Add as Friend</a></div>').show();
});
}
这是向人们发送朋友请求的功能,当发送请求时,“添加为朋友”选项更改为“取消请求”。
function toggleInteractContainers(x) {
if ($('#'+x).is(":hidden")) {
$('#'+x).slideDown(200);
} else {
$('#'+x).hide();
}
$('.interactContainers').hide();
}
这个函数调用切换按钮,就像用户点击“添加为朋友”然后它要求选项“是”或“取消”。
php代码是
<div id="land"><a href="#" onclick="return false" onmousedown="toggleInteractContainers(\'cancel_request\');" >Cancel Request</a></div>
<div id="friends"><a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'add_friend\');">Add as Friend</a></div>
<div class="interactContainers" id="add_friend" style="float:right; margin-right:100px; margin-top:0px;">
Really?
<a href="#" onClick="return false" onMouseDown="javascript:addAsFriend(<?php echo $logOptions_id; ?>, <?php echo $id; ?>);">Yes</a>
<a href="#" onClick="return false" onMouseDown="javascript:toggleInteractContainers('add_friend');">cancel</a>
</div>
<div class="interactContainers" id="cancel_request" style="float:right; margin-right:100px; margin-top:0px;">
Really?
<a href="#" onClick="return false" onMouseDown="javascript:cancel_request(<?php echo $requestID ; ?>)">Yes</a>
<a href="#" onClick="return false" onMouseDown="javascript:toggleInteractContainers('cancel');">cancel</a>
</div>
php 代码不在一个地方,而是分散在页面周围。我的问题是代码首先运行良好。就像用户点击“添加为朋友”一样,它会询问他们“真的”或“取消”。然后,如果用户单击“真的”,则“添加为朋友”更改为“取消请求”,并向用户发送请求。然后,如果用户在没有刷新页面的情况下点击“取消请求”,那么它也可以正常工作并询问“真的”或“取消”,如果用户点击“真的”,则请求被取消,但如果他点击“取消”,那么请求是没有取消。
所以基本上问题是如果发送请求并且页面没有刷新,那么请求 id ` 没有被更新,所以我们无法取消请求。
无论如何我可以在不刷新页面的情况下取回 requestID 的值
在 scripts_for_profile/request_as_friend.php 中,以下是将好友请求插入数据库的代码。
$sql = mysql_query("INSERT INTO friends_requests (mem1, mem2, timedate) VALUES('$mem1','$mem2',now())") or die (mysql_error("Friend Request Insertion Error"));