我是 php 新手,我正在尝试通过教程学习。现在,我正在编写一个聊天教程。最近,我遇到了一个问题,教程要求我使用 bind,但我认为它不再适用于 jquery。我正在尝试将消息扔到我的消息框。这是我的javascript的代码
var chat = {}
chat.fetchMessages = function () {
$.ajax({
url: 'ajax/chat.php',
type: 'post',
data: { method: 'fetch' },
success: function(data) {
$('.chat .messages').html(data);
}
});
}
chat.throwMessage = function (message) {
if ($.trim(message).length != 0) {
$.ajax({
url: 'ajax/chat.php',
type: 'post',
data: { method: 'throw', messsage: message },
success: function(data) {
chat.fetchMessages();
chat.entry.val('');
}
});
}
}
chat.entry = $('.chat .entry');
chat.entry.bind('keydown', function(e) {
if (e.keyCode === 13 && e.shiftKey === false) {
chat.throwMessage($(this).val());
e.preventDefault();
}
});
chat.interval = setInterval(chat.fetchMessages, 4000);
chat.fetchMessages();
这是正在发送信息的 php 文件:
<?php
require '../core/init.php';
if (isset($_POST['method']) === true && empty($_POST['method']) === false) {
$chat = new Chat();
$method = trim($_POST['method']);
if ($method === 'fetch') {
$messages = $chat->fetchMessages();
if (empty($messages) === true) {
echo 'There are currently no messages in the chat';
} else {
foreach($messages as $message) {
?>
<div class="message">
<a href="#"><?php echo $message['username']; ?></a> says:
<p><?php echo $message['message']; ?></p>
</div>
<?php
}
}
} else if ($method === 'throw' && isset($_POST['message']) === true) {
$message = trim($_POST['message']);
if (empty($message) === false) {
$chat->throwMessage($_SESSION['user'], $message);
}
}
}
当我打开检查器时,所有测试都正常工作,但 php 代码似乎没有将数据放在我的消息框上。