asp.net+jquery+xml实现最简单的聊天室
最近在sina看nba的文字直播的时候,对网站右下角的那一个聊天窗口产生兴趣,就决定自己也做一个。
上网查查资料,这样的聊天室无非就是用户输入数据传到服务器保存,然后用户页面再实时地从数据库取出数据,显示在页面上,即可完成一次聊天操作。
首先我定义了一个xml文件,用于保存用户的聊天数据,
<?xml version="1.0" encoding="utf-8"?>
<Messages>
<Message>
<users>crazyluo</users>
<data>ceshide</data>
<sendtime>23:25</sendtime>
<sendto>me</sendto>
</Message>
</Messages>
users保存发送信息的用户,data是发送的数据,sendtime是发送的时间,sendto是发送的对象
然后创建一个聊天的页面,页面代码大致是如下:
<div id="main">
<div id="msg"></div>
<div id="div1">
<textarea id="text" style="width:200px;"></textarea>
<input type="button" id="btn" value="提交" />
</div>
</div>
然后通过js从xml中取数据
var chatXml = function() {
var obj = document.getElementById("msg");
obj.scrollTop = obj.scrollHeight - obj.clientHeight;
$.get("Message.xml?time=" + new Date(), function(xml) {
$("#msg").html("");
$(xml).find("Messages>Message").each(function() {
$("#msg").append("<table><tr><td style='width:50px'>" + $(this).find("users").text() +
相关文档:
作者:敖士伟 Email:ikmb@163.com 转载注明作者
说明: 1、js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据。
2、后端ASP.NET用JavaScriptSerializer反序列化为对象实列。
3、好处:简化了前端数据读取与后端数据赋值。
function GetJSONSt ......
var
xmlDoc
=
null
;
function
parseXML
(
xmlUrl
)
{
try
{
//IE
xmlDoc
=
new
ActiveXObject
(
"Microsoft.XMLDOM"
);
xmlDoc
.
async
=
false
;
xmlDoc
......
public int createXMLFile(String filename) {
int returnValue = 0;
Document document = DocumentHelper.createDocument(); //生成Document,用于管理XML文档
Element booksElement = document.addElement("books"); //添加 ......
1。首先是基本原理,比如说是life cycle,数据库操作等。
2。实际项目的实践,前一阶段的工作在这个阶段检验,好像做个网站没有想象的那么简单。
3。研究实际的案例和开源框架,到这里才明白,原来网站这么的做的,好像是没有那么难啊。
简单的写写,记录在实际项目中的感悟。于2010-5-30晚,俱乐部。 ......
AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性
能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人
们开始意识到其重要性.
这两项被忽视的性能是:
* 无需重新装载整个页面便能向服务器发送请求.
* 对XML文档的解析和处理.
......