三、jQuery--jQuery基础--jQuery基础课程--第12章 jQuery在线聊天室
在线聊天室案例
一、功能简介:
1.用户需要登录后才能进入聊天室交流
2.已无刷新的方式,动态展示交流后的内容和在线人员的基本信息
3.登录后的用户可以提交文字和表情图标
技术重点:利用ajax的无刷新技术请求并展示数据
二、实现界面
1.登录页面(验证用户信息)
功能描述:
a.为了显示当前的在线人员的信息,进入聊天室时,必须先登录,保存登录用户的基本信息;
b.用户在登录聊天室时,调用jQuery中Ajax的全局函数$.ajax(),将获取的用户名与密码数据向数据器发送请求,并使用全局的ajaxStart()与ajaxStop()事件,绑定提示信息元素,使用户在登录时显示“正在登录”的字样,优化用户体验;
c.当用户在登录时,向服务器发送登录数据请求后,服务器端的程序将接收所请求的数据,检验密码是否为“123456”,如果为假,则弹出“用户名或密码错误”的对话框,否则,进入聊天室的主窗口页面。
2.聊天主页面
功能描述:
a.首次登录聊天主页面时,左边的聊天内容区中,如果没有聊天数据,则显示“目前还没有找到聊天记录”的字样,右边即时动态显示登录时的用户名;
b.在底部,可以在文本框中输入聊天内容,点击发送按钮后,将通过jQuery中Ajax的全局方法$.ajax(),获取聊天内容,并向服务器提交请求,同时,服务器响应数据请求,写入完成后,将数据返回至主窗口页面,显示在内容区中;
c.聊天室主要的功能是实现多人在线聊天,在发送内容时,还可以发送表情图标,以丰富发送内容,当发送表情时,仅仅是传递表情图标的名称,并不发送图片,当服务器接收后,返回相应的名称,再将名称对应的图标显示在页面中;
d.当聊天的信息发送成功后,服务器发送成功标志,客户端接收这一信息后,清空发送的文本框,并再次刷新对话框列表,以及时获取最新的聊天数据。
三、案例流程
三、jQuery--jQuery基础--jQuery基础课程--第12章 jQuery在线聊天室的更多相关文章
- 基于JQuery+JSP的无数据库无刷新多人在线聊天室
JQuery是一款非常强大的javascript插件,本文就针对Ajax前台和JSP后台来实现一个无刷新的多人在线聊天室,该实现的数据全部存储在服务端内存里,没有用到数据库,本文会提供所有源程序,需要 ...
- 第三章SignalR在线聊天例子
第三章SignalR在线聊天例子 本教程展示了如何使用SignalR2.0构建一个基于浏览器的聊天室程序.你将把SignalR库添加到一个空的Asp.Net Web应用程序中,创建用于发送消息到客户端 ...
- 三、jQuery--jQuery基础--jQuery基础课程--第7章 jQuery 动画特效
1.调用show()和hide()方法显示和隐藏元素 show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback]) ...
- 三、jQuery--jQuery基础--jQuery基础课程--第10章 jQuery UI型插件
1.拖曳插件——draggable 拖曳插件draggable的功能是拖动被绑定的元素,当这个jQuery UI插件与元素绑定后,可以通过调用draggable()方法,实现各种拖曳元素的效果,调用格 ...
- 三、jQuery--jQuery基础--jQuery基础课程--第2章 jQuery 基础选择器
1.#id选择器 jquery能使用CSS选择器来操作网页中的标签元素.如果你想要通过一个id号去查找一个元素,就可以使用如下格式的选择器:$("#my_id") 其中#my_id ...
- 三、jQuery--jQuery基础--jQuery基础课程--第11章 jQuery 工具类函数
1.获取浏览器的名称与版本信息 在jQuery中,通过$.browser对象可以获取浏览器的名称和版本信息,如$.browser.chrome为true,表示当前为Chrome浏览器,$.browse ...
- 三、jQuery--jQuery基础--jQuery基础课程--第9章 jQuery 常用插件
1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({option ...
- 三、jQuery--jQuery基础--jQuery基础课程--第8章 jQuery 实现Ajax应用
1.使用load()方法异步请求数据 使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为:load(url,[data],[callback]) ...
- 三、jQuery--jQuery基础--jQuery基础课程--第6章 jQuery 事件与应用
1.页面加载时触发ready()事件 ready()事件类似于onLoad()事件,但前者只要页面的DOM结构加载后便触发,而后者必须在页面全部元素加载成功才触发,ready()可以写多个,按顺序执行 ...
随机推荐
- java中线程分两种,守护线程和用户线程。
java中线程分为两种类型:用户线程和守护线程. 通过Thread.setDaemon(false)设置为用户线程: 通过Thread.setDaemon(true)设置为守护线程. 如果不设置次属性 ...
- HDU 1392 Surround the Trees(凸包*计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1392 这里介绍一种求凸包的算法:Graham.(相对于其它人的解释可能会有一些出入,但大体都属于这个算 ...
- Unity3D性能优化--- 收集整理的一堆
http://www.cnblogs.com/willbin/p/3389837.html 官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Ma ...
- angularjs入门基础一
app.controller('firstController',function($scope,$rootScope){ $scope.name='张三'; $rootScope.age='30'; ...
- linux中tar命令用法
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
- Android实用代码模块集锦
1. 精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) 1 2 3 4 5 6 public static double getScreenPhysicalSize(Activity ctx) ...
- 18.4---2出现了几次(CC150)
思路:1,先给出LTE的代码: public static int countNumberOf2s(int n) { // write code here int res = 0; for(int i ...
- ubuntu add application to launcher
eg. add sublime text to launcher so as to be found by launcher, docky, etc. add a file sudo gedit /u ...
- mysql 数据库字符集的指定
create database mydb default character set utf8 default collate utf8_general_ci;
- C#之串口
1.字符发送 string strSend = "00 01 02 03"; serialPort1.Write(strSend); 2.字符接收 ReadDataFromSeri ...