• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >AJAX > 让ajax更加友好的实现方法(实时显示后台处理进度。)

让ajax更加友好的实现方法(实时显示后台处理进度。)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了让ajax更加友好的实现方法(实时显示后台处理进度。)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
ajax应用越来越多,大部分ajax处理都是在前台显示1个"loading...",然后把数据提交给服务器进行处理,处理完毕后显示"处理完毕"。我们能否让ajax更加友好点,实时显示服务器处理的进度了?这在一些长时间的请求中尤其重要,比如上传文件、发送邮件、批量处理数据。答案当然是可以的,不然就不会写这个了,对吧,^_^。

存在的问题:
要解决实现上面的功能,需要解决下面几个问题:

1. 服务器如何在处理一部分数据后传递部分response到浏览器。
2、浏览器如何能处理服务器传递过来部分数据,并保持http连接直到处理完全完毕。

要解决第1个问题,使用flush让response分块进行呈现就可以了,具体请参考我另一遍随笔"flush让页面分块,逐步呈现";
第2个问题,则需要用到XMLHttpRequest的readyState状态,w3c对 readyState 定义如下几个值:
UNSENT = 0; // 没有发送请求
OPENED = 1; // 已经打开http连接
HEADERS_RECEIVED = 2; // 接收到response header
LOADING = 3; // 真正接收response body
DONE = 4; // 请求接收完毕
相信状态4大家是天天在用,而我们这里需要用到就是状态3。
实例:
废话少说,代码实例比什么文字解释都管用。我们这里假设服务器的1个处理需要6秒种,每秒种处理1条记录,总共处理6条记录,我们需要服务器每处理完1条数据,客户端则显示处理进度(包括文字和进度条)。
服务器端代码(下面JSP代码):
转载请注明出处:http://www.cnblogs.com/BearsTaR/。 禁止商用! </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11看图理解 普通交互方式和Ajax交互方式区别
  • 2017-05-11使用ajax实现无刷新改变页面内容和地址栏URL
  • 2017-05-11Ajax象棋演示和并提供代码下载
  • 2017-05-11AJax实现类似百度搜索栏的功能 (面试多见)
  • 2017-05-11IE下jquery ajax无法获得最新数据的问题解决(IE缓存)
  • 2017-05-11Ajax提交Form表单及文件上传的实例代码
  • 2017-05-11ajax实现标签导航
  • 2017-05-11Ajax loading gif generator
  • 2017-05-11HTML5 Ajax文件上传进度条如何显示
  • 2017-05-11甩掉ashx和asmx使用jQuery.ajaxWebService请求WebMethod简练处理Ajax

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • AJAX页面状态保持思路详解
    • 基于ajax的简单搜索实现方法
    • 基于iframe实现ajax跨域请求 获取网页中ajax数据
    • Ajax结合php实现二级联动
    • Ajax获得站点文件内容实例
    • 5款Ajax 文件上传控件
    • Ajax动态加载数据库示例
    • 一款经典的ajax登录页面 后台asp.net
    • 配合AJAX天气预报的webService 之asp
    • 探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有