Ajax 成功: function() : 我声明了,但它的值永远不会被读取



我正在努力让人们的反应像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页面(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控制台日志。即使在另一个项目中,它也没有写">dataType",而且它仍然有效,所以我真的不知道自己做错了什么。

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

我们学到了什么?看看你是怎么写的!但有第二只眼睛看着他们,看到的错误总是很好的

相关内容

最新更新