日期:2014-05-16  浏览次数:20686 次

ajax 实现一个网页版山寨QQ

思路:用户登录后,可以点击好友列表对好友进行聊天,那么所发送的数据都会保存到数据库,而聊天窗口每隔一定时间向数据库索要数据

(条件是 where getter='$getter' and sender='$sender' and isGet=0" )

该程序包含以下几个页面

login.php //登录页面

fiendList.php //登录好友页面

chatRoom.php  //聊天室页面,要发送数据和接收数据都要通过ajax调用相应的controller页面,下面两个就是了

sendMessageController //处理发送过来的数据

getMessageController  //返回相应的聊天数据

MessageService.php  //用于服务上面的两个控制器 (就是model)

下面是源码

//====================login.php====================

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<h1>欢迎登录聊天室</h1>
<form action="LoginController.php" method="post">
用户名:<input type="text" name="username" /><br/><br/>7
密    码:<input type="text" name="passwd" /><br />
 <input type="submit" value="登录" /><br />
</form>
</html>


//==================fridendList.php=======================

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function openChatRoom(obj){
window.open("chatRoom.php?username="+obj.innerText,"_blank");
}
</script>
</head>
<body>
<h1>好友列表</h1>
<ul>
<li onclick="openChatRoom(this)">songjiang</li>
<li onclick="openChatRoom(this)">zhangfei</li>
<li onclick="openChatRoom(this)">xiaoqian</li>
<li onclick="openChatRoom(this)">linzhouzhi</li>
</ul>
</body>
</html>


//=========================chatRoom.php===============

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<?php 
$username=$_GET['username'];
//取出session中登陆名
session_start();
$loginUser = $_SESSION['loginuser'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function getXmlHttpObject(){
var xmlHttpRequest;
//不同的浏览器获取对象xmlhttprequest 对象方法不一样