Ajax succes:function():''我已声明,但从未读取过它的值

问题描述 投票:1回答:1

[我正在尝试做出类似于Facebook的反应(目前仅用文字)。所以我在Ajax任职,我的成功不想成功,而我的function()给出:''我声明了,但从未读取过它的值。如果我用相同的设置检查另一个文档,并且一切仍然继续并且成功了,所以我不知道我错了什么或目前的问题在哪里。

我的PHP代码(buddyChat.php)

<?php
session_start();
if (empty($_SESSION['user_id'])) {
    header('Location: login.php');
}
//Hier mag enkel het gesprek te zien zijn tussen 2 users die met elkaar bevriend zijn
//tabel buddies >buddyID1 & buddyID2

include_once(__DIR__."/inc/header.inc.php");
include_once(__DIR__."/classes/Message.php");
include_once(__DIR__."/classes/User.php");

$userArray = $_SESSION['user_id'];
$userID = implode(" ", $userArray);
$currentUser = $userID;

//var_dump($_POST);

//$recipientID = implode(" ",$_POST);//om het getal terug te krijgen van de recipientID
$recipientID = $_POST['recipientID'];

//msg wordt in databank gestopt
if(!empty($_POST['message'])){
    $msg = new Message();
    $msg->setUserID($currentUser);
    $msg->setRecipientID($recipientID);
    $msg->setMessage(htmlspecialchars($_POST['message']));
    $msg->writeMessage();
}

//msg wordt afgedrukt/gereturned
$messages = Message::messagePrint($currentUser,$recipientID);
$names = User::printRecipientName($recipientID);


?><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <link rel="stylesheet" href="css/style.css">
    <link rel="stylesheet" href="css/reaction.css">
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/reaction.js"></script>
    <title>Document</title>
</head>
<body>
    <h1>Je chat nu met <?php echo $recipientID ?></h1>
    <div class="">
        <div class="">
            <?php foreach($messages as $message): ?>
                <div class="singlechat">
                    <?php if ($currentUser == $message['senderID']): ?>
                        <div class="chat senderchat">          
                            <p><?php echo "Jij: " . $message["content"]; ?></p>

                            <span class="emoji_liked_png"></span>
                            <span class="emoji_liked_text">Emoji</span><!-- dit is de plaats waar je emoji komt te staan na het klikken-->
                            <ul class="reactions"><!-- lijst van alle emoji's-->
                                <li class="emoji" id="emoji-like" data-emoji="like"><a href="#" data-msgID="<?php echo $message['msgID'];?>">like</a></li> 
                                <li class="emoji" id="emoji-love" data-emoji="love"><a href="#" data-msgID="<?php echo $message['msgID'];?>">love</a></li> 
                                <li class="emoji" id="emoji-haha" data-emoji="haha"><a href="#" data-msgID="<?php echo $message['msgID'];?>">haha</a></li> 
                                <li class="emoji" id="emoji-wow" data-emoji="wow"><a href="#" data-msgID="<?php echo $message['msgID'];?>">wow</a></li> 
                                <li class="emoji" id="emoji-sad" data-emoji="sad"><a href="#" data-msgID="<?php echo $message['msgID'];?>">sad</a></li> 
                                <li class="emoji" id="emoji-angry" data-emoji="angry"><a href="#" data-msgID="<?php echo $message['msgID'];?>">angry</a></li> 
                            </ul>
                        </div>
                </div>
                <?php elseif ($currentUser == $message['recipientID']): ?>
                    <div class="">
                        <div class="chat recipientchat">
                            <p><?php echo $message["senderID"] . ": " . $message["content"]; ?></p>

                            <span class="emoji_liked_png"></span>
                            <span class="emoji_liked_text">Emoji</span>
                            <ul class="reactions">
                                <li class="emoji" id="emoji-like" data-emoji="1"><a href="#" data-msgID="<?php echo $message['msgID'];?>">like</a></li> 
                                <li class="emoji" id="emoji-love" data-emoji="2"><a href="#" data-msgID="<?php echo $message['msgID'];?>">love</a></li> 
                                <li class="emoji" id="emoji-haha" data-emoji="3"><a href="#" data-msgID="<?php echo $message['msgID'];?>">haha</a></li> 
                                <li class="emoji" id="emoji-wow" data-emoji="4"><a href="#" data-msgID="<?php echo $message['msgID'];?>">wow</a></li> 
                                <li class="emoji" id="emoji-sad" data-emoji="5"><a href="#" data-msgID="<?php echo $message['msgID'];?>">sad</a></li> 
                                <li class="emoji" id="emoji-angry" data-emoji="6"><a href="#" data-msgID="<?php echo $message['msgID'];?>">angry</a></li> 
                            </ul>
                        </div>
                    </div>
                <?php endif; ?>
            <?php endforeach;?>
        </div>
    </div>

    <div>
        <form action="" method="post">
            <input type="text" name="message">
            <input type="hidden" name="senderID" id="" value="<?php echo $currentUser?>">
            <input type="hidden" name="recipientID" id="" value="<?php echo $recipientID?>">
            <div class="">
                <button type="submit" class="btn btnChat" style="width: 90px">Send</button>
            </div>
        </form>
    </div>


</body>

和我的JS页面(reaction.js):

$(document).ready(function (){

    $(".emoji").on("click", function() {
        // de variabelen om te zien welke emoji je hebt en op welke post je zit
        var emoji = $(this).attr("data-emoji");
        //var msgID = $(this).attr("data-msgID");
        console.log("here it works: " + emoji);
        //ajax sturen voor het in de database te stoppen
        $.ajax({
            type: "POST",
            dataType: 'json',
            url: "ajax/Reaction.php",
            data: "emoji=" + emoji,
            succes: function (data){
                console.log("succes");

                $(".emoji_liked_text").html(emoji.toLowerCase()).removeClass().addClass('emoji_liked_text_'+emoji.toLowerCase()).addClass('active');
                $(".emoji_liked_png").removeClass().addClass('emoji_liked_png').addClass('emoji_liked_' + data_reaction.toLowerCase());$(".reaction-btn-text").text(data_reaction).removeClass().addClass('reaction-btn-text').addClass('reaction-btn-text-' + data_reaction.toLowerCase()).addClass("active");

            },
            error: function(data){
                console.log("didn't work");
            }
        })
        console.log("this shows up after Ajax");

    });


});

我使用了3个控制台日志:1个在ajax之前,1个在ajax内部,1个在检查一切之后以及何时发生或什至发生了什么之后。他们如下。 1:ajax之前的1。 2:ajax之后的1。 3:ajax中的1。所以至少我得到了3个控制台日志。但是,如果我不使用“ dataType:'json'”,它甚至不会显示ajax控制台日志。即使在另一个projext中,它也不会写“ dataType”,它仍然可以工作,所以我真的不知道自己在做什么错。

html jquery ajax
1个回答
0
投票

看起来您真的必须检查您如何写单词。我写成功作为成功。出了什么问题,这就是为什么它不想继续。.

我们学到了什么?检查您如何编写所有内容!但是第二眼看到这些错误总是很高兴的]

© www.soinside.com 2019 - 2024. All rights reserved.