在线聊天室案例

一、功能简介:

  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. angularjs的$http.jsonp跨域的用法

    var app = angular.module("app",[]); app.run(function ($rootScope,$http) { $http.jsonp(&quo ...

  2. word20161201

    http://baike.baidu.com/link?url=ZTTkA-suMlJNGb2AeNBE2E6MZQZwjkvWXKgmUpeLBIrCfC-k32cGJOJLrtDlLXjsTfkD ...

  3. 11.2---字符串数组排序,删除变位词(CC150)

    这道题主义的就是,要利用数组自带的sort函数. 此外,注意,利用hash来判断是否出现了. public static ArrayList<String> sortStrings(Str ...

  4. 9.5---所有字符串的排列组合(CC150)

    1,这个是自己写的.一直LTE. public static ArrayList<String> getPerms(String str) { if (str == null) { ret ...

  5. python entrypoint

    entrypoint, 实际是一张匹配表.匹配简短指令和具体的python函数的执行路径.有点快捷方式的概念. 不同的是,这种快捷方式不仅可以给命令行使用,还可以供其他代码简单调用,而无需关注太多细节 ...

  6. Fibonacci 2

    Fibonacci 2 感谢613的提供的题面 题目描述 给定\(S_0,S_1\),\(S_n=S_{n-1}+S_{n-2}+F_nF_{n-1}\),求\(S_n\bmod 2^{32}\). ...

  7. [k]css盒模型

    box-sizing :  content-box || border-box || inherit 1.content-box:此值为其默认值.元素的宽度/高度(width/height)等于元素边 ...

  8. Smallest Rectangle Enclosing Black Pixels

    An image is represented by a binary matrix with 0 as a white pixel and 1 as a black pixel. The black ...

  9. POJ 1693

    题意:就是给你n条直线,求这n条直线最多可以构成多少个矩形. 思路:把直线分类,分成水平的和竖直的,然后两两组合,看是否能构成矩形.枚举 Memory: 692K Time: 0MS Language ...

  10. centos6.5 mysql开机启动

    可参考:centos6.5 nginx开机启动 /etc/init.d/下添加mysqld文件,内容如下: #!/bin/sh # Copyright Abandoned TCX DataKonsul ...