专栏首页快乐八哥Ajax几种常用模式

Ajax几种常用模式

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

第一部分:通信控制模式

1.预先获取

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

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

2.提交流处理模式 Submission Throttling

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

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

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

3.定期刷新模式

Demo:新评论提示示例

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

Demo:附加信息链接示例

第二部分:失效处理模式

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

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

解决方案:

1.取消等待处理的请求

2.重试

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前后端分离下如何登录

    目前大多数Web应用采用前后端分离方式进行开发。所以前端网站或应用都属于SPA(Single Page Application)。如果前端,后台API部署在同域...

    八哥
  • Cmd Markdown编辑器简明语法手册

    标签: Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体。 示例: 这是 斜体,这是 粗体。 2. 分级标题 使用 === 表示一...

    八哥
  • JavaScript事件概览

    JavaScript事件 JavaScript是单线程,在同一个时间点,不可能同时运行两个“控制线程”。 事件句柄和事件对象 1.注册事件句柄 标准和非标准 v...

    八哥
  • 『设计模式』之小试牛刀

    为了更好的学习设计模式,以及督促自己完成设计模式的学习,现提笔为记。 怎么的,每周至少也要学一个设计模式!!! 恳请大家的监督和不吝赐教,共同学习和进步!...

    圣杰
  • linux之vi和vim编辑器

    一般流程:首先vim 文件名:打开或新建一个文件,然后按i进入编辑模式,接着按esc退出编辑模式,最后按下shift+冒号键进入命令行模式,输入wq(保存和退出...

    绝命生
  • Mysql 批量更新数据

    更新 table1 表的 name 字段,当 id 等于 1 时 ,更新 name = xxx1

    Alone88
  • 一流学者不宜再以“顶会顶刊”作为自己的追求目标

    包云岗发表在CCCF 2020年第1期卷首语上的《伯克利科研模式的启发》,我们反复读了三遍。在当今这个时代,好多文章能让人读完一遍都难,更别说再三研读了。这篇文...

    AI科技评论
  • 分布式系统的消息&服务模式简单总结

    分布式系统的消息&服务模式简单总结 在一个分布式系统中,有各种消息的处理,有各种服务模式,有同步异步,有高并发问题甚至应对高并发问题的Actor编程模型,本文尝...

    用户1177503
  • appium学习笔记(环境安装配置,设备启动)

       启动中如果遇到 main.js: error: argument "--app": Expected one argument. null 错误,注意Ap...

    未来sky
  • vim从入门到放弃-绝密版

    vim号称编辑器之神,很多人都经历了从入门到放弃的痛苦过程。如今使用vim已有10年,vim极高的提高了我的工作效率,而且在使用的过程中总能不经意间发现一些使用...

    致码DevOps

扫码关注云+社区

领取腾讯云代金券