この記事の例では、PHP+jquery+ajaxを使用してインスタントチャット機能を実装する方法を説明します。参考のためにみんなで共有してください。詳細は以下の通りです
これは、jquery と php を使用したチャット ルームの単純なソース コードです。ここでは、ajax を使用してデータベースを定期的に読み取り、以下のソース コードを参照してください。
無題のドキュメント
<スクリプト src="js/jquery-1.9.1.min.js">
<スクリプト>
var チャット = {
init:function(){
チャット.ファースト();
$('#chat_btn').unbind('click').click(function(){
チャット.send();
});
$('#my_chat').keyup(function(){
If(event.keyCode == 13){
チャット.send();
}
});
}、
最初:関数(){
$.getJSON('data.php',{
アクション:「最初」、
タイプ:「l」
},関数(データ){
Chat.btn_status._true();
$('#mwebtime').html(data.time);
$('#チャットテキストエリア').val(data.chat);
$('#チャットテキストエリア').stop(true,true).animate({scrollTop:9999}, 1);
チャット.ソケット();
});
}、
send:function(){
chat.btn_status._false();
$.getJSON('send.php',{
txt:$('#my_chat').val()、
タイプ:「l」
},関数(データ){
If(data.status==200){
Chat.btn_status._false();
$('#my_chat').val('');
setTimeout(function(){
Chat.btn_status._true();
},2000);
}
});
}、
ソケット:関数(){
$.getJSON('data.php',{
アクション:「ながら」、
タイプ:「l」
},関数(データ){
$('#mwebtime').html(data.time);
$('#チャットテキストエリア').val(data.chat);
$('#チャットテキストエリア').stop(true,true).animate({scrollTop:9999}, 1);
チャット.ソケット();
});
}、
btn_status:{
_false:function(){
$('#chat_btn').html('待機中').attr('無効',true);
}、
_true:function(){
$('#chat_btn').html('speak').attr('無効',false);
}
}
}
チャット.init();
スクリプト>
頭>
本文>
data.php ページは次のとおりです:
コードをコピーします
コードは次のとおりです:
header("有効期限: 1997 年 7 月 26 日月曜日 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("キャッシュ制御: キャッシュなし、再検証が必要");
header("Pramga: キャッシュなし");
set_time_limit(0);
$get = $_GET['アクション'];
$type = $_GET['type'];
$file = $type.'.txt';
if(isset($get) && isset($type) && file_exists($file)){
スイッチ($get){
ケース「最初」:
$chat = file_get_contents($file);
$json=array(
'ステータス' => 200、
'時間' => gmdate("s")、
'チャット' => $チャット、
);
エコー json_encode($json);
休憩;
ケース「その間」:
$oldsize = ファイルサイズ($file);
$newsize = ファイルサイズ($file);
while(true){
if($oldsize!=$newsize){
$chat = file_get_contents($file);
$json=array(
'ステータス' => 200、
'時間' => gmdate("s")、
'チャット' => $チャット、
);
エコー json_encode($json);
出口;
}
クリアスタットキャッシュ();
$newsize = ファイルサイズ($file);
usleep(10000);
}
壊す;
}
}
?>
send.php页面如下:
复制代码代码如下:
$json = 配列();
$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".'管理者:'.$txt;
//$str = $txt."n"//linux;
fwrite($fp, $str);
fclose($fp);
$json['ステータス']=200;
エコー json_encode($json);
出口;
}
}
?>
ここで説明されている大家向けの php プログラムの設計が役立つことを望みます。
http://www.bkjia.com/PHPjc/932074.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/932074.html技術記事 PHP+jquery+ajax で即時テン機能を実現する例、jqueryajax では、PHP+jquery+ajax で即時テン機能を実現する方法について説明します。