Ajax几种常用模式

设计模式不是要遵循的标准,只不过是对增进行之有效的解决方案的总结。每个模式都凝聚了开发人员社区的集体智慧,而每个开发人员都可以决定是否在其应用中实现某个模式。

第一部分:通信控制模式

1.预先获取

合理假设的准则,预测并预载入与用户可能的下一步相关的信息,可以使应用程序更快、反应更迅速。只有从逻辑上确认该信息是用户下一步请求的所必需的,才预先获取它。

Demo:Ajax分页显示示例,二级菜单,加载地址簿和联系人等。

2.提交流处理模式 Submission Throttling

提交节流模式,可以将要发送到服务器的数据存入客户端的缓存中,然后在预定的时间一次性发送数据。

注意事项:一般不用于关键任务的数据。如果数据必须在一个特定的时间范围内传送到服务器,最好还是采用传统的表单,以确保信息及时准确地传送。

Demo:表单增量验证示例,字段增量验证示例

3.定期刷新模式

Demo:新评论提示示例

4.多阶段下载模式(Multi-Stage Download)

Demo:附加信息链接示例

第二部分:失效处理模式

问题:服务器端出错,Ajax请求没有发送到服务器端。

两种错误类型:给出了状态码的服务器错误;服务器不可达(例如:服务器宕机或者因特网连接失败)

解决方案:

1.取消等待处理的请求

2.重试

更多Ajax模式可以参考:http://ajaxpatterns.org/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

如何开始对Android应用的逆向分析?

本文是我的关于如何开始Android逆向系列文章的第一部分。在文末提供了一个文档,你可以根据该文档说明部署同我一样的实验环境。

873
来自专栏java一日一条

JVM 开发者必看:傻瓜式编译 OpenJDK 7

LZ经过一个星期断断续续的研究,终于成功的搞定了JDK的成功编译与调试。尽管网络上的教程也有不少,包括源码中也有自带的编译步骤说明,但真正自己动手的话,还是会遇...

952
来自专栏杨建荣的学习笔记

PostgreSQL主备环境搭建

PG学习初体验--源码安装和简单命令(r8笔记第97天) 记得在2年前写过一篇PostgreSQL的文章,当时处于兴趣,本来想在工作中接一下PG的业务,最后因为...

4465
来自专栏Laoqi's Linux运维专列

SubversionEdge部署研发团队文档管理

1214
来自专栏企鹅号快讯

你真的需要消息队列吗

我是一个极简主义者,我不喜欢让软件过早或不必要地复杂化。向软件系统添加组件是增加复杂性的一种方法。让我们以消息团队为例。 消息队列是一个系统,使您能够获得容错、...

2095
来自专栏bboysoul

编译安装squid

什么是squid,简单的说squid是一款代理缓存软件就是加速网站访问的,国内部分cdn服务用的就是squid,cdn大家应该清楚吧,内容分发网络,cdn的作用...

953
来自专栏决胜机器学习

高性能网站架构方案(二)——优化网站响应时间

高性能网站架构方案(二)——优化网站响应时间 (原创内容,转载请注明来源,谢谢) 一、概述 优化网站响应时间是保证网站受用户关注的要点,主要方案有: 1、减...

3006
来自专栏从零开始学自动化测试

python笔记23-unittest单元测试之mock

unittest.mock是一个用于在Python中进行单元测试的库,Mock翻译过来就是模拟的意思,顾名思义这个库的主要功能是模拟一些东西。 它的主要功能是使...

1602
来自专栏xcywt

记录我学github的路程(三)

2015-12-22 更新 一、Bug分支 1,假设如下场景,你正在dev分支工作,突然接到一个修复代号为101的bug的任务时,dev的东西还没不能提交,但是...

2079
来自专栏腾讯Bugly的专栏

移动 H5 首屏秒开优化方案探讨

导语 随着移动设备性能不断增强,web 页面的性能体验逐渐变得可以接受,又因为 web 开发模式的诸多好处(跨平台,动态更新,减体积,无限扩展),APP 客户端...

7335

扫码关注云+社区