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

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

WBOY
Freigeben: 2016-06-06 20:15:30
Original
1138 Leute haben es durchsucht

这篇文章主要介绍了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页面如下:

复制代码 代码如下:

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage