Home > php教程 > php手册 > PHP+jquery+ajax实现即时聊天功能实例

PHP+jquery+ajax实现即时聊天功能实例

WBOY
Release: 2016-06-06 20:15:30
Original
1134 people have browsed it

这篇文章主要介绍了PHP+jquery+ajax实现即时聊天功能的方法,实例分析了php聊天功能的信息无刷新提交方法,以及信息发送处理等功能,具有一定的参考借鉴价值,需要的

本文实例讲述了PHP+jquery+ajax实现即时聊天功能的方法。分享给大家供大家参考。具体如下:

这是一个简单的利用jquery与php做的一个聊天室的源码,我们这里定时利用ajax读取数据库并进行刷新了,下面直接参上源码,实例代码如下:

index.html页面如下:

复制代码 代码如下:





无标题文档

<script> <br /> var chat = { <br /> init:function(){ <br /> chat.first(); <br /> $('#chat_btn').unbind('click').click(function(){ <br /> chat.send(); <br /> }); <br /> $('#my_chat').keyup(function(){ <br /> if(event.keyCode == 13){ <br /> chat.send(); <br /> } <br /> });<br /> }, <br /> first:function(){ <br /> $.getJSON('data.php',{ <br /> action:'first', <br /> type:'l' <br /> },function(data){ <br /> chat.btn_status._true(); <br /> $('#mwebtime').html(data.time); <br /> $('#chat textarea').val(data.chat); <br /> $('#chat textarea').stop(true,true).animate({scrollTop:9999}, 1); <br /> chat.socket(); <br /> }); <br /> }, <br /> send:function(){ <br /> chat.btn_status._false(); <br /> $.getJSON('send.php',{ <br /> txt:$('#my_chat').val(), <br /> type:'l' <br /> },function(data){ <br /> if(data.status==200){ <br /> chat.btn_status._false(); <br /> $('#my_chat').val(''); <br /> setTimeout(function(){ <br /> chat.btn_status._true(); <br /> },2000); <br /> } <br /> }); <br /> }, <br /> socket:function(){ <br /> $.getJSON('data.php',{ <br /> action:'while', <br /> type:'l' <br /> },function(data){ <br /> $('#mwebtime').html(data.time); <br /> $('#chat textarea').val(data.chat); <br /> $('#chat textarea').stop(true,true).animate({scrollTop:9999}, 1); <br /> chat.socket(); <br /> }); <br /> }, <br /> btn_status:{ <br /> _false:function(){ <br /> $('#chat_btn').html('等待').attr('disabled',true); <br /> }, <br /> _true:function(){ <br /> $('#chat_btn').html('发言').attr('disabled',false); <br /> } <br /> } <br /> } <br /> chat.init(); <br /> </script>

 


 
 

 
 



data.php页面如下:

复制代码 代码如下:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pramga: no-cache");
set_time_limit(0);
$get = $_GET['action'];
$type = $_GET['type'];
$file = $type.'.txt';
if(isset($get) && isset($type) && file_exists($file)){
 switch($get){
  case 'first':
   $chat = file_get_contents($file);
   $json=array(
    'status' => 200,
    'time' => gmdate("s"),
    'chat' => $chat,
   );
   echo json_encode($json);
   break;
  case 'while':
   $oldsize = filesize($file);
   $newsize = filesize($file);
   while(true){
    if($oldsize!=$newsize){
     $chat = file_get_contents($file);
     $json=array(
      'status' => 200,
      'time' => gmdate("s"),
      'chat' => $chat,
     );
     echo json_encode($json);
     exit;
    }
    clearstatcache();
    $newsize = filesize($file);
    usleep(10000);
   }
   break;
 }
}
?>

send.php页面如下:

复制代码 代码如下:

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template