在线聊天室案例

一、功能简介:

  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在线聊天室的更多相关文章

  1. 基于JQuery+JSP的无数据库无刷新多人在线聊天室

    JQuery是一款非常强大的javascript插件,本文就针对Ajax前台和JSP后台来实现一个无刷新的多人在线聊天室,该实现的数据全部存储在服务端内存里,没有用到数据库,本文会提供所有源程序,需要 ...

  2. 第三章SignalR在线聊天例子

    第三章SignalR在线聊天例子 本教程展示了如何使用SignalR2.0构建一个基于浏览器的聊天室程序.你将把SignalR库添加到一个空的Asp.Net Web应用程序中,创建用于发送消息到客户端 ...

  3. 三、jQuery--jQuery基础--jQuery基础课程--第7章 jQuery 动画特效

    1.调用show()和hide()方法显示和隐藏元素 show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback]) ...

  4. 三、jQuery--jQuery基础--jQuery基础课程--第10章 jQuery UI型插件

    1.拖曳插件——draggable 拖曳插件draggable的功能是拖动被绑定的元素,当这个jQuery UI插件与元素绑定后,可以通过调用draggable()方法,实现各种拖曳元素的效果,调用格 ...

  5. 三、jQuery--jQuery基础--jQuery基础课程--第2章 jQuery 基础选择器

    1.#id选择器 jquery能使用CSS选择器来操作网页中的标签元素.如果你想要通过一个id号去查找一个元素,就可以使用如下格式的选择器:$("#my_id") 其中#my_id ...

  6. 三、jQuery--jQuery基础--jQuery基础课程--第11章 jQuery 工具类函数

    1.获取浏览器的名称与版本信息 在jQuery中,通过$.browser对象可以获取浏览器的名称和版本信息,如$.browser.chrome为true,表示当前为Chrome浏览器,$.browse ...

  7. 三、jQuery--jQuery基础--jQuery基础课程--第9章 jQuery 常用插件

    1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({option ...

  8. 三、jQuery--jQuery基础--jQuery基础课程--第8章 jQuery 实现Ajax应用

    1.使用load()方法异步请求数据 使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为:load(url,[data],[callback]) ...

  9. 三、jQuery--jQuery基础--jQuery基础课程--第6章 jQuery 事件与应用

    1.页面加载时触发ready()事件 ready()事件类似于onLoad()事件,但前者只要页面的DOM结构加载后便触发,而后者必须在页面全部元素加载成功才触发,ready()可以写多个,按顺序执行 ...

随机推荐

  1. JavaScript的作用域与作用域链

    作用域 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期.可以说,变量和函数在什么时候可以用,什么时候被摧毁,这都与作用域有关. JavaScript中,变量的作用域有全局 ...

  2. 忧桑三角形,调了半天,真忧桑TAT

    忧桑三角形 试题描述 小J是一名文化课选手,他十分喜欢做题,尤其是裸题.有一棵树,树上每个点都有点权,现在有以下两个操作: 1. 修改某个点的点权 2. 查询点u和点v构成的简单路径上是否能选出三个点 ...

  3. Qt5 程序启动画面动图效果

    2333终于实现动图,先弄了一个窗口去掉标题栏假装就是启动画面了,还是那只萌萌的猫这次会动了! 基类用的是QWidget  类名称MainView #ifndef MAINVIEW_H #define ...

  4. C语言中#define的用法(转)

    转自:http://www.dingge.com/main/article.asp?id=10 今天整理了一些#define的用法,与大家共享! 1.简单的define定义 #define MAXTI ...

  5. [转]JVM内存堆布局图解分析

    JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢 ...

  6. Factor Combinations

    Factor Combinations Problem: Numbers can be regarded as product of its factors. For example, 8 = 2 x ...

  7. jQuery DataTables && Django serializer

    jQuery DataTables https://www.datatables.net 本文参考的官方示例 http://datatables.net/release-datatables/exam ...

  8. struts2 配置 struts.xml 提示

    1.这个提示通常是在 连网络的时候才可以看到 2.当没有网路的时候我们该如何配置呢? window -->preferences -->xml catelog -->user.... ...

  9. MMO可见格子算法

    看注释吧,写的很清楚了 using System; using System.Collections.Generic; using System.Diagnostics; using System.L ...

  10. Django~Excel,PDF

    # Text file #response = HttpResponse(mimetype='text/plain')  #response['Content-Disposition'] = 'att ...