ajax node一对一聊天室,Ajax-----简易聊天室实战

img

chat.asp

chat.css

chat.js

data.xml

index.html

mess.asp

sendmess.asp

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

data.xml:

1-24 17:43:02

ailen

欢迎!![@more@]

mess.asp

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()

%>

[]:

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 & _

""&posttime&""&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);

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值