ITPub博客

首页 > 应用开发 > IT综合 > Ajax-----简易聊天室实战

Ajax-----简易聊天室实战

原创 IT综合 作者:abcbbc 时间:2007-05-20 20:54:56 0 删除 编辑

img
chat.asp
chat.css
chat.js
data.xml
index.html
mess.asp
sendmess.asp

主要看chat.js mess.asp sendmess.asp

data.xml:




ailen
欢迎!!

[@more@]

mess.asp
<%Response.Charset="gb2312"%>
<%
dim node,i,nodecount
set xml = CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("data.xml"))
set root = xml.documentElement
set nodeLis = root.childNodes
nodeCount = nodeLis.length
nums=int(nodeCount/10)
For i=1 to nums*10-9
set node = nodeLis.nextNode()
next
For i=i to nodeCount
set node = nodeLis.nextNode()
%>
<%=node.selectSingleNode("time").text%> [<%=node.selectSingleNode("user").text%>]: <%= node.selectSingleNode("mess").text%>

<%
Next
%>

sendmess.asp
<%
username=request("user")
mess = request("mess")
posttime=mid(date(),6)&" "&time()
if username<>"" then
strSourceFile = Server.MapPath("data.xml")
'获取XML文件的路径这里根据你的虚拟目录不同而不同
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
'创建XML对像
objXML.load(strSourceFile)
'把XML文件读入内存中
Set objRootlist = objXML.documentElement
'选取节点
brstr=chr(13)&chr(10)&chr(9)
'为了插入XML文件中的节点换行空格排列整齐(当然你也可以不用这样只是为了XML数据好看而以)
XMLnode=brstr&""&brstr & _
""&brstr & _
""&username&""&brstr & _
""&mess&""&brstr & _
"
"&chr(13)
'根据得到的数据建立XML片段
set objXML2=Server.CreateObject("Microsoft.XMLDOM")
'建立一个新XML对像
objXML2.loadXML(XMLnode)
'把XML版片段读入内存中
set rootNewNode=objXML2.documentElement
'获得objXML2的根节点
objRootlist.appendChild(rootNewNode)
'把XML片段插入到List.xml中
objXML.save(strSourceFile)
'存储lsit.xml文件(因为不存储List.xml只在内存中更新了)
set objXML=nothing
set objXML2=nothing
end if
%>

chat.js
// JavaScript Document

//创建对象
function createXMLHttps()
{
var ret = null;
try {
ret = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e) {
try {
ret = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (ee) {
ret = null;
}
}
if (!ret && typeof XMLHttpRequest != 'undefined')
ret = new XMLHttpRequest();
return ret;
}

//时间函数
function getDataTimes()
{
var strDate,strTime;
strDate = new Date();
strTime = strDate.getTime();
return strTime;
}

//获取信息
function ShowMess()
{
var strtime = getDataTimes();
var xmlhttp = createXMLHttps();
var element = document.getElementById('mess_box');
xmlhttp.open("GET",'mess.asp?strTime='+strtime,false);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
element.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
//发送信息
function SendMess()
{
var strtime = getDataTimes();
var xmlhttp = createXMLHttps();
var element = document.getElementById('mess_box');
var user = document.getElementById('user').value;
var mess = document.getElementById('mess').value;
if (user=="")
{
alert("请输入用户名!");
return false;
}
if (mess=="")
{
alert("不能发空信息!");
return false;
}
xmlhttp.open("GET",'SendMess.asp?user='+user+'&mess='+mess+'&strTime='+strtime,false);
xmlhttp.send(null);
ShowMess();
document.getElementById('mess').value="";

}
// 刷新
function getmess() {
timer = window.setInterval("ShowMess()",2000);
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/219138/viewspace-915689/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-09-07

  • 博文量
    56
  • 访问量
    699643