在线聊天室案例

一、功能简介:

  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. 利用LruCache为GridView异步加载大量网络图片完整示例

    MainActivity如下: package cc.testlrucache; import android.os.Bundle; import android.widget.GridView; i ...

  2. C++ 模板函数与模板类

    一.模板函数 函数模板提供了一类函数的抽象,即代表了一类函数.当函数模板被实例化后,它会生成具体的模板函数.例如下面便是一个函数模板:

  3. windows程序是如何开始执行的??

    windows的资源管理器侦测到使用者执行了一个程序————>windows调用加载器加载该程序————>调用C start code——>C start code 调用WinMai ...

  4. Java对文件中的对象进行存取

    1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: public static void writeObjectToFile(Obje ...

  5. ADB连不上,ADB server didn't ACK问题,的解决

    adb连接不上虚拟机,即便执行了adb kill-server命令也没用? 如果你的错误信息是,ADB server didn't ACK这样的话,说明5037端口被占用了. 只要找出占用此端口的进程 ...

  6. 35 网络相关函数(三)——live555源码阅读(四)网络

    35 网络相关函数(三)——live555源码阅读(四)网络 35 网络相关函数(三)——live555源码阅读(四)网络 简介 5)NoReuse不重用地址类 6)initializeWinsock ...

  7. tornado RequestHandler request.body & request.arguments

    request.body , 请求的原始内容,post方式放在body中的. request.arguments, body参数和url参数的统一体, 同时也是经过“加工”,解码的. eg.在对接其他 ...

  8. 网站标签栏ico设置代码

    放在公共文件的header中 <link rel="Shortcut Icon" href="{APP_PATH}favicon.ico" />

  9. keepalived和heartbeat区别

    <1>Keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP):Heartbeat是基于主机或网 ...

  10. Convert a given Binary Tree to Doubly Linked List

    The question and solution are from: http://www.geeksforgeeks.org/convert-given-binary-tree-doubly-li ...