使用jQuery调用XML实现无刷新即时聊天


Posted in Javascript onAugust 07, 2016

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>使用JQuery调用XML实现无刷新即时聊天</title>
<script src="Jscript/jquery-1.8.2.min.js" type="text/javascript"></script>
<style type="text/css" >
body{font-size:13px}
h3{ padding:0px; margin:8px 0px}
.iframe{ width:260px; border: solid 1px #666}
.iframe .title{padding:5px; background-color:#eee}
.iframe .title .spnId{font-weight:bold; font-family:Arial}
.iframe .content{ padding:8px; font-size:12px;}
.iframe .content .lst{ height :180px; border: solid 1px #ccc; padding:3px; line-height:1.5em; overflow-y:scroll;}
.iframe .content .nav{ color:#006EE}
.iframe .content .nav .time,
.iframe .content .msg{ margin-left:5px}
.iframe .content .txt{ height:50px; width:238px; border:solid 1px #ccc}
.btn {border:#666 1px solid;padding:2px;width:80px;
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff, EndColorStr=#ECE9D8);}
</style>
<script type="text/javascript">
$(function () {
var $FormId = 1243242;
var $SendId = 1234560;
$("#spnSendId").html($SendId);
setTimeout(showList($FormId, $SendId), 3000);
$("#btnSend").click(function () {
$.ajax({
url: 'Chat.ashx?s=' + $SendId + '&f=' + $FormId + '&c=' + txtA.value,
success: function (data) {
if (data == 1) {
showList($FormId, $SendId);
txtA.value = "";
}
}
});
});
function showList(f, s) {
$.ajax({
url: 'Chat.xml',
dataType: 'xml',
success: function (data) {
var $strUser = $(data).find("message");
var strHTML = "";
$strUser.each(function () {
if (($(this).attr("fId") == f && $(this).attr("sId") == s) || ($(this).attr("fId") == s && $(this).attr("sId") == f)) {
var strNav = $(this).attr("fId");
if (strNav == f) {
strNav = "我说";
}
strHTML += '<div class=\"nav\"><span>(' + strNav + ')<\/span><span class =\"time\">' + $(this).children("datetime").text() + '<\/span><\/div>';
strHTML += '<div class=\"msg\">' + $(this).children("content").text() + '<\/div>';
}
});
//显示处理后的数据
$("#chatList").html(strHTML);
}
});
}
})
</script>
</head>
<body>
<div class="iframe">
<div class="title">德仔即时聊天与
(<span id="spnSendId" class="spnId"></span> )聊天中
</div>
<div class ="content">
<div id="chatList" class="lst"></div>
</div>
<div class="content">
<textarea id="txtA" class="txt"></textarea>
<input id="btnSend" type="button" value="发送" class="btn" />
</div>
</div>
</body>
</html>

Chat.ashx:

<%@ WebHandler Language="C#" Class="Chat" %>
using System;
using System.Web;
using System.Xml;
public class Chat : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string strContent = context.Request.QueryString["c"].ToString();
string strFromId = context.Request.QueryString["f"].ToString();
string strSendId = context.Request.QueryString["s"].ToString();
int intSuccess = 0;
string strDate = DateTime.Now.ToString("HH:mm:ss");
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(context.Server.MapPath("Chat.xml"));
XmlNode root = xmlDoc.SelectSingleNode("chat");
XmlElement xmlE = xmlDoc.CreateElement("message");
xmlE.SetAttribute("fId", strFromId);
xmlE.SetAttribute("sId", strSendId);
XmlElement xmlEd = xmlDoc.CreateElement("datetime");
xmlEd.InnerText = strDate;
xmlE.AppendChild(xmlEd);
XmlElement xmlEc = xmlDoc.CreateElement("content");
xmlEc.InnerText = strContent;
xmlE.AppendChild(xmlEc);
root.AppendChild(xmlE);
xmlDoc.Save(context.Server.MapPath("Chat.xml"));
intSuccess = 1;
}
catch(Exception ex) {
throw ex;
}
context.Response.Write(intSuccess);
}
public bool IsReusable {
get {
return false;
}
}
}

使用jQuery调用XML实现无刷新即时聊天

以上所述是小编给大家介绍的使用jQuery调用XML实现无刷新即时聊天,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言哦!

Javascript 相关文章推荐
JavaScipt基本教程之前言
Jan 16 Javascript
不同的jQuery API来处理不同的浏览器事件
Dec 09 Javascript
jquery获取子节点和父节点的示例代码
Sep 10 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
浅析javascript的间隔调用和延时调用
Nov 12 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
基于原生js淡入淡出函数封装(兼容IE)
Oct 20 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
Paypal支付不完全指北
Jun 04 Javascript
vue中的v-model原理,与组件自定义v-model详解
Aug 04 Javascript
JS中使用FormData上传文件、图片的方法
Aug 07 #Javascript
深入理解Angular2 模板语法
Aug 07 #Javascript
JS上传图片预览插件制作(兼容到IE6)
Aug 07 #Javascript
JavaScript兼容性总结之获取非行间样式案例
Aug 07 #Javascript
jQuery调用Webservice传递json数组的方法
Aug 06 #Javascript
Google 地图API Map()构造器详解
Aug 06 #Javascript
Google 地图API资料整理及详细介绍
Aug 06 #Javascript
You might like
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
php中stdClass的用法分析
2015/02/27 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
python 实现插入排序算法
2012/06/05 Python
Python易忽视知识点小结
2015/05/25 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
python开发之字符串string操作方法实例详解
2015/11/12 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
python操作列表的函数使用代码详解
2017/12/28 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python实现五子棋游戏
2019/06/18 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
《雨点》教学反思
2014/02/12 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
居安思危观后感
2015/06/11 职场文书