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();
});
}
这是向朋友发送好友请求的功能,当发送请求时,“添加为好友”选项更改为“取消请求”。ajax调用ajax调用后,从数据库获取php变量的值
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代码是不是在一个地方,而是散落在页面各处。我的问题是,代码首先正常工作。就像用户点击“Add as friend”一样,它会询问他们“真的”还是“取消”。然后,如果用户单击“真正”,则“添加为朋友”更改为“取消请求”,并向用户发送请求。然后,如果用户在没有页面刷新的情况下单击“取消请求”,那么它也可以正常工作并询问“真正”或“取消”,如果用户点击“真正”,则请求被取消,但是如果他点击“取消”未取消。
所以基本上问题是,如果发送请求并且页面没有刷新,那么请求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"));
好吧,我将rqstid作为$ rqst回应,因此如何在脚本中使用它而不回显该值。我只想使用该值并将其存储在一个php变量中。 –
如果你试图保留变量服务器端(我以为你想在你的Javascript中使用它),那么为什么不直接从数据库中抓取它呢? –
不,但我想使用ajax调用获取该值,然后在php脚本中使用它 –