Ajax几种常用模式

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

第一部分:通信控制模式

1.预先获取

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

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

2.提交流处理模式 Submission Throttling

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

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

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

3.定期刷新模式

Demo:新评论提示示例

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

Demo:附加信息链接示例

第二部分:失效处理模式

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

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

解决方案:

1.取消等待处理的请求

2.重试

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

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

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

32860
来自专栏企鹅号快讯

你真的需要消息队列吗

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

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

PostgreSQL主备环境搭建

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

48060
来自专栏Crossin的编程教室

把你开发的网站免费发布到互联网上(1)

0. 前言 之前我们写过很多代码,但几乎都是在自己的电脑上运行的。如果别人要看,也只能在电脑上演示,或者把代码发给他运行。 而在学习 web 开发,比如 Dja...

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

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

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

22120
来自专栏耕耘实录

CentOS7.X的系统管理、安全设置及系统优化思路

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

29420
来自专栏24K纯开源

mac下利用Breakpad的dump文件进行调试

一、前情回顾 最近把公司的一个视频处理程序更新了一个版本,准备提交测试的发现了崩溃的情况。这个程序采用Qt和ffmpeg技术栈开发,主要用于对视频进行渲染拼接处...

78490
来自专栏bboysoul

编译安装squid

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

17930
来自专栏Java工程师日常干货

【SpringBoot专题】监控健康状况前言监控插件:actuatorSpring Boot Admin:可视化后台管理系统总结

想一想,我们以前是如何监控一个Java应用的监控状况的?一般而言,我们会在Linux服务器上通过一些命令,比如通过jstat来统计堆内存的使用情况/垃圾回收的情...

94720
来自专栏xcywt

记录我学github的路程(三)

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

22690

扫码关注云+社区

领取腾讯云代金券