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 ......
Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探 ......
Controller needs to derive from Mvc.Controller
each controller function is assiaciaed with a default view by name
controller and viewer can exchange data by viewdata
use HTML.ActionLink to add a link on html page
a url is corresponding to a action method
in view, using HTML.BeginForm() will gen ......
Asp.net页面乱码第一种解决方案:
在web.config中:
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
Asp.net页面乱码第二种解决方案:
<META http-equiv="content-type" content="text/html; charset=gb2312">
Asp.net页面乱码第三种解决方案:
下载文件时指定文件名,中文的文 ......
使用javascript创建Microsoft XML DOM,就可以完成这一工作.
// 装入数据.
var source = new ActiveXObject("Microsoft.XMLDOM");
source.async = false
source.load("history.xml");
// 装入样式表.
var stylesheet = new ActiveXObject("Microsoft.XMLDOM");
stylesheet.async = false
stylesheet.load( ......