用php、mysql和ajax jquery开发聊天模块

用php、mysql和ajax jquery开发聊天模块,php,jquery,mysql,chat,autoload,Php,Jquery,Mysql,Chat,Autoload,我正在尝试实现一个小的聊天应用程序,用户可以与任何一个在线用户进行文本聊天。 我的逻辑如下: Login first. Fetch the users who are online from DB and show them as list of online users. Click on the users, then another small window is opening for text chatting. Create a form(two hidden fiel

我正在尝试实现一个小的聊天应用程序,用户可以与任何一个在线用户进行文本聊天。 我的逻辑如下:

 Login first.

 Fetch the users who are online from DB and show them as list of online users.

 Click on the users, then another small window is opening for text chatting.

 Create a form(two hidden fields- one is for sender id and another is for receiver id, one textarea and a button for submitting) for this chatting.

 Through jQuery, fill the value of receiver id.

 By session id, fill the value of sender id.

 After submitting the button, I call a page through ajax jquery which is responsible to insert and show the current data from DB.
我的ajaxJquery代码如下:

但是在这种情况下,如何在
load()
中传递
receiever\u id
的值,这是从数据库中查找相应数据所必需的? 请让我知道你是否清楚这个要求

提前感谢。


<script>
    $(function () {

        // function wide variables
        var receiver_id = $('#hide_receiver_id').val();
        var sender_id = $('#hide_sender_id').val();
        var messagebox = $('#messagebox').val();

        // button click
        $('#send_btn').click(function () {
            receiver_id = $('#hide_receiver_id').val();
            sender_id = $('#hide_sender_id').val();
            messagebox = $('#messagebox').val();

            $.ajax({
                type : "POST",
                url : "chat_history.php?receiver_id=" + receiver_id + "&sender_id=" + sender_id + "&message=" + messagebox,
                success : function (result) {
                    $('#history').html(result);
                }
            });
            $('#messagebox').val('');
        });

        var auto_refresh = setInterval(function(){
            $('#history').load("chat_history.php?receiver_id="+receiver_id+"&sender_id=<?php echo $_SESSION['id']?>&message=").fadeIn("fast");
        }, 1000); // refresh every 1000 milliseconds
    });
</script>
$(函数(){ //函数范围变量 var receiver_id=$('#hide_receiver_id').val(); var sender_id=$('#hide_sender_id').val(); var messagebox=$('#messagebox').val(); //按钮点击 $('#发送_btn')。单击(函数(){ receiver_id=$('#hide_receiver_id').val(); sender_id=$('#hide_sender_id').val(); messagebox=$('#messagebox').val(); $.ajax({ 类型:“POST”, url:“chat_history.php?receiver_id=“+receiver_id+”&sender_id=“+sender_id+”&message=“+messagebox, 成功:功能(结果){ $('#history').html(结果); } }); $('#messagebox').val(''); }); var auto_refresh=setInterval(函数(){ $('#history').load(“chat_history.php?receiver_id=“+receiver_id+”)和sender_id=&message=“).fadeIn(“fast”); },1000);//每1000毫秒刷新一次 });
组合这两个脚本,使var receiver_id可用于setInterval功能。如果单击按钮将被触发,则实际上将执行第一个脚本,第二个脚本用于自动加载。那么我应该如何组合两个脚本呢?但是那些接收者id、发送者id将在单击提交按钮后找到。所以在那之前它是不可访问的。@Mausumi,这就是为什么它们也被宣布在顶部
<script type="text/javascript">
  var auto_refresh = setInterval(
   function (){
    $('#history').load("chat_history.php?receiver_id=''&sender_id=<?php echo $_SESSION['id']?>&message=").fadeIn("fast");
   }, 1000); // refresh every 1000 milliseconds
</script>
<script>
    $(function () {

        // function wide variables
        var receiver_id = $('#hide_receiver_id').val();
        var sender_id = $('#hide_sender_id').val();
        var messagebox = $('#messagebox').val();

        // button click
        $('#send_btn').click(function () {
            receiver_id = $('#hide_receiver_id').val();
            sender_id = $('#hide_sender_id').val();
            messagebox = $('#messagebox').val();

            $.ajax({
                type : "POST",
                url : "chat_history.php?receiver_id=" + receiver_id + "&sender_id=" + sender_id + "&message=" + messagebox,
                success : function (result) {
                    $('#history').html(result);
                }
            });
            $('#messagebox').val('');
        });

        var auto_refresh = setInterval(function(){
            $('#history').load("chat_history.php?receiver_id="+receiver_id+"&sender_id=<?php echo $_SESSION['id']?>&message=").fadeIn("fast");
        }, 1000); // refresh every 1000 milliseconds
    });
</script>