关于ajax的一些随笔
关于 MVC :
1、 Ajax 必然会带来 Web 开发 Model2 模型的变革。
a) MVC 的角色由服务器端向客户端靠拢,或者,干脆转为其他更合适的形式,
b) V(View) 的角色将不再仅仅是不起眼的 jsp ,在 Web2.0 的时代,它将拥有自己独立的一套体系结构。即行为 (Java Script/ECMAScript) ,结构 (XHTML) 和样式 (CSS) 。
c) M 的角色将更像 DTO ,它的形式可以由多种,比如:
i. 字符串
ii. JS 对象
iii. 应用更为广泛的 XML
对应的,他们的传输协议也有多种(当然,都是基于 HTTP ):
i. JSON-RPC ( JS 对象)
ii. Burlap( 基于 XML 的 Java 对象 )
同时,客户端 - 服务器端对象之间的转化也将成为一个必须解决的问题。目前, JSON , Buffalo 已经比较好的做到了这一点。
d) C 的角色将更为靠近客户端,它将利用 Js 的特点,发挥其快速、灵活的特点。它将取代大部分原服务器端控制器的作用。从而使服务器端的编程更加专注与业务逻辑。
服务器端的控制器层则会变得更薄,它将专注于:
iii. 服务器端数据验证与安全保护
iv. 与业务逻辑层之间联结的纽带
但是,这一层的功能一旦集成到业务逻辑层,它将失去主要的作用,很可能退出服务器端的领域。
2、 传统的 MVC 框架 ( 比如 Struts , WebWork) 与 Ajax 之间应该是竞争的关系,因为:
a) 传统的 MVC 框架在本质上,都是同步调用,而非 Ajax 提倡的异步调用。
b) 传统的 MVC 框架试图用标签来集成一部分 Ajax 应用。但这注定只能是一种过渡行为,因为:
i. 传统的 Tag 带来的不便正逐渐显现出来。 ( 学习成本、不利于编辑、客户端与服务器端代码的夹杂等 )
ii. Tag 对 Js 的封装有限,无法发挥 Js 强大灵活的功能
iii. Tag 是服务器端生成的代码,过多的参与客户端的行为,不利于程序的分层实现。
iv. 使用 Tag 使得页面展现逻辑的控制变得复杂和难于理解。它将使动作与表现的分离变得困难。也使得客户端与服务器端逻辑的分离变得不可能。试想用一段代码来控制一个自己也不知道会不会生成,能生成什么样 HTML 的 Tag ?
c) 基于第一部分提出的原因, Ajax 所提倡的新的 MVC 方式与传统的 MVC 框架所实现的方式已经有本质的区别,它们之间的竞争也就不可避免了。
3、 传统的 MVC 框架适用的地方( Web Request 适用):
a) 重视 URL 的应用,如新闻、论坛等
b) 重视搜索引擎优化
c) 重视用户传统习惯(后退键问题等)
实际上,上边所说的问题 Ajax 都可具有相应的解决方案,但是由于并不能显示出更多的优势。所以传统的 MVC 应用框架仍然有存在的空间。
分享到:
相关推荐
**Ajax(Asynchronous JavaScript and XML)...通过学习提供的"Ajax基础教程.pdf",可以深入理解这一技术,并借助"[说明].txt"解决学习中遇到的问题,而"幸运林 一个程序员的随笔.url"则可能提供更多的编程心得和技巧。
ASP.NET AJAX 1.0 Beta版的发布,它们已经不再适用,为了不继续误导广大朋友,所以不再作为推荐系列文章,如果有需要参考的朋友,可以直接到随笔分类中查看。
【标题】"js随笔提示"所涉及的知识点主要集中在JavaScript这一编程语言上,特别是关于用户交互和数据处理的部分。JavaScript是一种广泛应用于网页和网络应用的脚本语言,它允许实时更新网页内容,无需重新加载页面,...
1.这个随笔实现了一个Ajax动态加载的例子。 2.使用.net 的MVC框架实现。 3.这个例子重点在前后台交互,其它略写。 开始: 1.控制器ActionResult代码(用于显示页面) /// /// 电话查询页面 /// /// <returns>...
最近在项目中需要上传文件文件,之前一直都是form提交的,尝试了一下AjaxForm,感觉还比较好用,写篇随笔mark下,供以后使用。 准备工作: 下载jquery-form.js 相关jar: commons-fileupload-1.1.1.jar commons-io-...
在实际工作中,前端开发者经常需要处理DOM操作、事件处理、Ajax异步请求、性能优化、响应式布局等问题。这些内容可能在压缩包的文件中有所涉及,比如如何高效地选择和操作DOM元素,如何编写可维护的事件处理函数,...
这篇名为“TT随笔四 前台的CURD封装”的博客文章可能讨论了如何在前端应用中优雅地执行CURD操作。尽管描述为空,我们可以推测作者可能分享了如何使用JavaScript(可能包括ES6语法)或者特定的前端框架如React、Vue或...
Ajax Control Toolkit 工具包的简介及获取方式等,请参见本系列的另一篇随笔:Ajax Control Toolkit使用实例(1) AutoCompleteExtender。 BalloonPopup 控件简介 BalloonPopup 控件可以显示一个弹出层,里面可以包含...
【标题】"dahong:个人技术随笔"是一份技术博主Dahong关于编程技术的个人笔记集合,主要涵盖了2017年至2019年的学习与实践心得。这个压缩包文件“dahong-master”很可能包含了博主在JavaScript、CSS、HTML以及...
- **封装Ajax操作**:简化了异步数据请求的过程,提高了开发效率。 #### 2.2 不足之处 - **框架复杂度**:由于其提供了大量的功能,导致框架整体较为复杂,对于新手来说可能存在一定的学习曲线。 - **体积较大**:...
具体到给定的文件中,"des.html"可能是一个关于数据解密的HTML页面,"des.java"和"des.js"可能是实现解密算法的Java和JavaScript代码。"java调用js方法.doc"很可能是详细描述如何从Java调用JS函数的步骤和示例。 在...
之前写了一篇Ajax初步理解的随笔,里面有个函数用来创建XmlHttpRequest对象,浏览器兼容性原因,写出的代码通过大量if判断或者try,catch语句将函数引导到正确代码处。 代码如下: [removed] function createXHR(){ ...
- **jQuery**:简化DOM操作,提供动画效果,方便事件处理,以及Ajax请求等,是早期前端开发的常用工具。 - **React**:Facebook推出的JavaScript库,用于构建用户界面,尤其适用于单页面应用。它采用组件化开发,...
3、全面采用ajax,完美的用户体验 4、全面支持ie6、ie7、ie8、firefox2.0、firefox3.0、谷歌浏览器等 5、独特的设计思路,让用户无限传播,带来无限的流量。 6、简单的安装使用过程。 7、页面静态化,提高访问...
Jquery是JavaScript的一个库,它简化了DOM操作、事件处理、动画制作和Ajax交互,使得JavaScript编程更加简洁和高效。 在"person-plugins-master"这个压缩包文件中,我们可以期待找到以下内容: 1. **源代码文件**...
- **技术随笔**:支持按文章类型进行搜索,每次显示6条记录,可加载更多。文章类型与文章之间是一对多关系,文章详情则通过文章ID在Redis和MySQL中查询。 - **文章详情**:首先检查Redis缓存,若存在文章记录则...
【标题】"victorvhpg.github...同时,博主可能还会分享一些关于版本控制(如Git)、Web开发工具(如Webpack或Babel)以及持续集成/持续部署(CI/CD)的经验。总的来说,这是一个深入了解JavaScript和前端开发的好资源。
文档先提出了这些功能的实现思路,随后对实现这些功能的具体步骤进行了详细的说明,最后还提供了与上篇随笔相对应的主页面代码。以下是对文档中所提到知识点的详细解读: 1. 数据库设计思路: - 动态、评论和回复...