Ajax/jQuery函数不确定



我正在从事一个允许用户邀请其他用户的项目。当用户受到邀请时,弹出窗口应该...弹出...要求他们接受或拒绝。为此,我正在使用Ajax调用来检查他们是否有任何邀请。这最终将是一个自动称为函数的,但是现在我只是使用一个简单的按钮和onclick函数对其进行测试。

发生的事情是,AJAX请求将用于checkInvitation.php,该请求检查一个装满用户的数据库表。用简单的英语,checkInvitations.php检查发送的"用户" Ajax是否有邀请。如果他们这样做,则核对访问将信息传递回AJAX请求,并带有(邀请用户的名称)和(确认邀请)。

无论出于何种原因,即使我导入了jQuery库,我的功能都会像未定义一样不确定。我不知道为什么是这种情况。

这是Ajax请求的功能。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript">
function checkForInvitations()
{
    var invitedPlayer = '<?php echo $_SESSION["goodUser"]; ?>' //invitedPlayer = the logged-in user
    console.log("invitedPlayer is: "+invitedPlayer); //variable debug check
$.ajax({
    type: "post",
    url: "checkInvitations.php",
    data: {invitedPlayer: invitedPlayer},
    success: function(data)
    {
        // parse json string to javascript object
        var invitations = JSON.parse(data);
        console.log(invitations); //variable debug check
        // check the invitations to/from
        var invitingPlayer = invitations.invitationFrom;
        var invitationStatus = invitations.invitationStatus;
        //if player has received an invite, pop up a screen asking them to confirm/accept the invite
        if(invitationStatus != 'false')
        {
            clearInterval(checkInvitationIntervalId);
            confirm_yes = confirm(invitingPlayer+" invited you to a game. Accept ?");
        }   
    }
    })
}

这是它要求

的PHP页面
<?php
session_start();
// Create connection
$conn = new mysqli('localhost', 'root', '', 'warzone');
// Check connection
if ($conn->connect_error) 
{
    die("Connection failed: " . $conn->connect_error);
}
$invitations = array();
//look for rows in database where user=the invited user and the invitestatus has been set to true (after invite was sent)
$request = "SELECT * FROM warzone.logged_in_users WHERE USER='".$_POST["invitedPlayer"]."' AND INVITESTATUS='TRUE'";
$res = $conn->query($request);
if($row = $res->fetch_assoc())
{
    $invitations["invitationFrom"]=$row["INVITING_PLAYER"];
    $invitations["invitationStatus"]='true';    
}   
else
{
    $invitations["invitationFrom"]='none';
    $invitations["invitationStatus"]='false';
}
echo json_encode($invitations);
?>

请记住,当我在上述PHP文件中使用$ _Session [" gaduser"]代替$ _POST ["邀请玩家"]时,我得到了所需的确切输出。我知道这有效。显然,我只是无法与$ _ post一起使用,因为没有提出/未定义。

任何帮助都将受到赞赏!

来自脚本标签上的Mozzila开发人员API。

如果脚本元素指定了SRC属性,则应 在其标签中没有脚本。

因此,您想将jQuery包含在单独的标签中。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript">
</script> 
<!-- end script before you start the one with your code in it -->
<script type="text/javascrpt">
  // Your code that involves $ here...
</script>

最新更新