PHP+jquery+ajax implements instant chat function example, jqueryajax
The example in this article describes how PHP+jquery+ajax implements the instant chat function. Share it with everyone for your reference. The details are as follows:
This is a simple source code for a chat room using jquery and php. Here we use ajax to read the database regularly and refresh it. Below is the source code directly. The example code is as follows:
The
index.html page is as follows:
Copy code The code is as follows:
Untitled Document
<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('waiting').attr('disabled',true); <br>
}, <br>
_true:function(){ <br>
$('#chat_btn').html('speak').attr('disabled',false); <br>
} <br>
} <br>
} <br>
chat.init(); <br>
</script>
Speak
The data.php page is as follows:
Copy code The code is as follows:
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页面如下:
复制代码 代码如下:
$json = array();
$txt = isset($_GET['txt'])?$_GET['txt']:'';
$type = isset($_GET['type'])?$_GET['type']:'';
if($txt!=''){
$file = $type.".txt";
if(file_exists($file)){
$fp = fopen($file,"a");
$str = "rn".'Admin:'.$txt;
//$str = $txt."n"//linux;
fwrite($fp, $str);
fclose($fp);
$json['status']=200;
echo json_encode($json);
exit;
}
}
?>
希望本文所述对大家的php程序设计有所帮助。
http://www.bkjia.com/PHPjc/932074.html www.bkjia.com true http://www.bkjia.com/PHPjc/932074.html TechArticle PHP+jquery+ajax实现即时聊天功能实例,jqueryajax 本文实例讲述了PHP+jquery+ajax实现即时聊天功能的方法。分享给大家供大家参考。具体如下: 这...