Ajax实战:在浏览器端应用MVC

我们在前面一直将注意力集中于应用中的小细节。现在可以扩大一下视野, 考虑启动时交付在浏览器上的完整的JavaScript应用。这也可以按MVC模式进行 结构化,由于清晰地分离了关注点,得到较大的优化。

在这个级别,模型由业务领域对象组成,视图是整个可编程处理的页面,控 制器是将UI和领域对象相连接的代码中所有事件处理函数的组合。图4-2展示了 这个级别的MVC操作。这可能是对于Ajax开发者最重要的MVC使用方式,因为它很 自然地适应了Ajax富客户应用。我们将考察MVC模式的这种使用方法的细节,并 在本章的剩余部分看看能从中吸取些什么。

图4-2 模型—视图—控制器整体应用于Ajax客户端应用。这个级 别的控制器是将UI连接到JavaScript业务对象的代码

如果思考一下第3章讨论过的传统Web MVC,你会知道在一个典型的Ajax应用 中至少有3层,每一层在应用的生命周期中扮演不同的角色,它们都有助于开发 出清晰、组织良好的代码。图4-3演示了这些不同规模的MVC模式如何嵌套在应用 的架构中。

那么,当开发代码时这对我们意味着什么呢?在下面几节中,我们以更实际的 观点来考察使用MVC定义JavaScript应用的结构,它将如何影响编写代码的方式 ,它的好处是什么?让我们开始考察一下视图。

图4-3 在嵌套的MVC架构中,模式以不同的规模重复自己。在最外层的级别, 我们可以看到模式作为整体定义了应用的工作流,模型位于Web服务器端。在较 小的规模,模式在客户端应用中重复;在更小的规模,模式在客户端应用的单个 UI组件内部重复

时间: 2024-10-02 20:47:46

Ajax实战:在浏览器端应用MVC的相关文章

解析浏览器端的AJAX缓存机制_javascript技巧

AJAX的缓存是由浏览器维持的,对于发向服务器的某个url,ajax仅在第一次请求时与服务器交互信息,之后的请求中,ajax不再向服务器提交请求,而是直接从缓存中提取数据. 有些情况下,我们需要每一次都从服务器得到更新后数据.思路是让每次请求的url都不同,而又不影响正常应用:在url之后加入随机内容. e.g. url=url+"&"+Math.random(); Key points: 1.每次请求的url都不一样(ajax的缓存便不起作用) 2.不影响正常应用(最基本的)

Ajax实战:Ajax的四个基本原则

我们用到的很多框架中都已经固化了基于页面的传统应用模式,同时这些应 用模式也已经深深进入了我们的思想中.我们花几分钟来揭示出哪些核心概念是 我们需要重新思考的,以及如何从Ajax的角度来重新思考. 浏览器中的是应用而不是内容 在传统的基于页面的Web应用中,浏览器扮演着哑终端[7]的角色.它对用户 处于操作流程哪一阶段一无所知.这些信息全部都保存在服务器上,确切地说, 就是在用户会话上.时至今日,服务器端的用户会话早已是司空见惯.如果你使 用Java或者.NET编程,服务器端的用户会话更是标准A

Ajax在不同浏览器中的兼容问题(asp.net,ie,firefox)

Ajax在不同浏览器中的兼容问题比较麻烦,我在最近的项目中遇到了这个问题.并且使用了一种奇怪 的方法解决了它,现在拿出来大家讨论讨论: 下面是前端代码: <script type="text/javascript"> var xmlHttp; var as; var state = 0; function mouseover() { var id = "<%=cvE_Mail.ClientID%>"; getajax(); if (as ==

浏览器端的 9 种缓存机制

浏览器端的 9 种缓存机制 浏览器缓存Browser Caching是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户.浏览器端缓存的机制种类较多,总体归纳为九种,这里详细分析下这九种缓存机制的原理和使用场景.打开浏览器的调试模式->resources左侧就有浏览器的8种缓存机制. 一.http缓存 http缓存是基于HTTP协议的浏览器文件级缓存机制.即针对文件的重复请求情况下,浏览器可以根据协议

用Selenium WebDriver+Grid2实现浏览器端性能测试

在 Web 2.0 应用中,页面装载时间和浏览器渲染时间将成为决定性能的关键因素.我们在测试过程中不仅需要手动触发性能测试工具,而且需要模仿不同的用户行为,包括不同的浏览器.不同的网络条件和不同的使用习惯.在这种情况下我们需要新的方法与工具来覆盖特别是浏览器端的性能测试.用 Selenium WebDriver + Grid2 可以解决浏览器端性能测试中的自动化和并发性问题.本文介绍了这种新的测试框架和脚本的开发过程,并结合案例给出了具体的代码和结果分析.使用 Selenium WebDrive

浅谈Ajax请求与浏览器缓存_AJAX相关

在现代Web应用程序中,前端代码充斥着大量的Ajax请求,如果对于Ajax请求可以使用浏览器缓存,那么可以显著地减少网络请求,提高程序响应速度. 1. Ajax Request 使用jQuery框架可以很方便的进行Ajax请求,示例代码如下: $.ajax({ url : 'url', dataType : "xml", cache: true, success : function(xml, status){ } }); 非常简单,注意其中的第4行代码:cache:true,显式的要

浏览器端的九种缓存机制介绍

浏览器缓存是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户.浏览器端缓存的机制种类较多,总体归纳为九种,这里详细分析下这九种缓存机制的原理和使用场景.打开浏览器的调试模式->resources左侧就有浏览器的8种缓存机制. 一.http缓存 http缓存是基于HTTP协议的浏览器文件级缓存机制.即针对文件的重复请求情况下,浏览器可以根据协议头判断从服务器端请求文件还是从本地读取文件,chrome控

利用Java开发Web应用(一) 常见的浏览器端使用的技术

一个好的编程模型,必须要具备良好的功能性.可靠性.可用性.高效性.可维护性和可移植性.而Java作为一种编程语言,其特点符合了这些要求,所以在 Web应用的开发中得到了广泛的使用.当前最流行的Web应用服务器,也多采用Java架构,如IBM的WebSphere Application Server和BEA的WebLogic Application Server等.Java的各种技术在应用服务器之上的其他部分扮演着重要的角色,成为整个Web应用的灵魂.如何选择一个合理的编程模型,有效的利用它们,就

AJAX在不同浏览器中XMLHttpRequest对象的生成示例

本文为大家介绍下AJAX在不同浏览器中XMLHttpRequest对象是怎样生成的,以方便我们针对不同浏览器进行测试,感兴趣的朋友可以参考下,希望对大家有所帮助   复制代码 代码如下: <script type="text/javascript"> function ajax() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { /