Ajax succes: function (): '' я объявлен, но его значение никогда не читается - PullRequest
1 голос
/ 22 апреля 2020

Я пытаюсь сделать реакцию подобной Facebook (на данный момент просто словами). Так что я нахожусь в точке на Ajax, и мои успехи не хотят преуспевать, и моя функция () дает: '' Я объявлен, но его значение никогда не читается. Если я проверяю другой документ с та же самая установка и все, что все еще продолжается, и это успешно, так что я не знаю, что я не так с этим или где проблема в данный момент.

Мой код 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 (реакция. 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 после просто, чтобы проверить все, что и когда происходит или что это вообще происходит. Они go как следует. 1: 1 перед ajax. 2: 1 после ajax. 3: 1 в ajax. Так что по крайней мере я получаю 3 консольных журнала. Но если я не использую " dataType: 'json" ", он даже не показывает журналы консоли ajax. Даже в другом проекте он не пишет " dataType ", и он все еще работает, поэтому я не знаю, что я делаю неправильно.

1 Ответ

0 голосов
/ 22 апреля 2020

Похоже, вы действительно должны проверить, как вы пишете слова. я написал успех как успех. что не так и вот почему не хотелось продолжать ..

Что мы узнали? Проверьте, как вы все пишете! но всегда приятно иметь второй взгляд на них, чтобы увидеть эти ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...