用于聊天室的AJAX, jQuery, javascript

AJAX, jQuery, javascript for a chatroom

本文关键字:jQuery javascript AJAX 聊天室 用于      更新时间:2023-09-26

所以我正在跟随教程,我遇到了当前的问题。这是我第一次使用ajax方法。我复制并保存了jQuery版本1.7.2.min.js在一个文件夹中。我的php代码似乎工作得很好,唯一的事情似乎是ajax部分的代码。

此代码位于名为"includes"的文件夹

<div id="messages"> 
<!--Javascript-->
<script type= "text/javascript" src= "script/jquery-1.7.2.min.js"></script>
<script type= "text/javascript" src= "script/auto_chat.js"></script>
</div><!-- Messages -->

这是位于名为auto_chat

的"script"文件夹中的javascript
$(document).ready(function() { 
    var interval = setInterval(function() {
        $.ajax({
            url: 'script/Chat.php' ,
            success: function(data) {
                $('#messages').html(data);
            }
        });
    }, 1000);
});

有一个名为Chat.php的文件,其中包含链接到数据库的代码。

当它运行时,它应该显示数据库中的所有消息。相反,它给我空白,甚至没有错误。有人能告诉我我的方法有什么问题吗?

这是my Chat.php

<?php
    require('../includes/database/connect.db.php')
    function get_msg(){
        $query = "SELECT `Sender`,`Message` FROM `chat`.`chat` ORDER BY `Msg_ID` DESC";
        $run = mysql_query($query);
        $messages = array();
        while($message = mysql_fetch_assoc($run)){
            $messages[] = array('sender' => $message['Sender'],
                               'message' => $message['Message']);
        }
        return $messages;
    }
    function send_msg($sender, $message) {
        if(!empty($sender) && !empty($message)) {
            $sender = mysql_real_escape_string($sender);
            $message = mysql_real_escape_string($message);
            $query = "INSERT INTO `chat` . `chat` VALUES (null,'{$sender}','$message')";
            if ($run = mysql_query($query)){
                return true;
            }else{
                return false;
            }
        }else {
            return false;
        }
        }

    if(isset($_POST['send'])){
        if(send_msg($_POST['sender'],$_POST['message'])){
            echo 'Message Sent';
        }else{
            echo 'Message Failed to sent';
        }
    }   
    $messages = get_msg();
    foreach($messages as $message) {
        echo '<strong>' . $message['sender'] .' Sent</strong><br />';
        echo $message['message']. '<br /><br />';
    }

?>

这是我所有的index。php

<!DOCTYPE html>
<?php
    require('includes/core.inc.php');

    function get_msg(){
        $query = "SELECT `Sender`,`Message` FROM `chat`.`chat` ORDER BY `Msg_ID` DESC";
        $run = mysql_query($query);
        $messages = array();
        while($message = mysql_fetch_assoc($run)){
            $messages[] = array('sender' => $message['Sender'],
                               'message' => $message['Message']);
        }
        return $messages;
    }
    function send_msg($sender, $message) {
        if(!empty($sender) && !empty($message)) {
            $sender = mysql_real_escape_string($sender);
            $message = mysql_real_escape_string($message);
            $query = "INSERT INTO `chat` . `chat` VALUES (null,'{$sender}','$message')";
            if ($run = mysql_query($query)){
                return true;
            }else{
                return false;
            }
        }else {
            return false;
        }
    }

    if(isset($_POST['send'])){
        if(send_msg($_POST['sender'],$_POST['message'])){
            echo 'Message Sent';
        }else{
            echo 'Message Failed to sent';
        }
    }

?>

<html lang = "en">
    <head>
    <!--Page TItle --!>
    <title>Chat Application </title>
    <link type="text/css" rel= "stylesheet" href= "includes/main.css" />
    </head>
    <body>
<div id="input">
<form action = "index.php" method = "post">
    <label>Enter Name:<input type = "text" name = "sender"/></label>
    <label>Enter Message:<input type = "text" name = "message"/></label><br />
    <input type = "submit" name = "send" value = "Send Message"/>

</form>
</div> 

<div id="messages"> 
<?php
    $messages = get_msg();
    foreach($messages as $message) {
        echo '<strong>' . $message['sender'] .' Sent</strong><br />';
        echo $message['message']. '<br /><br />';
    }
?>
<!--Javascript-->
<script type= "text/javascript" src= "script/jquery-1.7.2.min.js"></script>
<script type= "text/javascript" src= "script/auto_chat.js"></script>
</div><!-- Messages -->

    </body>
</html>

经过大量的尝试和错误,我们发现问题是在chat.php上缺少一个简单的分号:

require('../includes/database/connect.db.php');

:)