Asp.net中的AJAX学习记录之一 AJAX技术的崛起与Asp.net AJAX的诞生

简介:
   最近开始学习Asp.net中的AJAX,可能我的高手朋友们会说:“走还不稳呢!怎么就想学跑了?”呵呵!主要是我在做项目中体会到AJAX真的是很好的一门技术,应该好好的学习一下,以后也作为自己的一个技术点,慢慢的积累,逐渐掌握。下面是我在我现在学习的《ASP.net AJAX与Silverlight 实战手册》中摘抄的部分文章话语,写的很明了,至少我一遍就看懂了笔者所描述的AJAX产生的背景,()之中加入了我的理解及现实实例,把它费时的打出来,让路过的朋友也可以分享一下。
         在网页开发模式的不断进化之时,原本理所当然的页面刷新操作,慢慢的也变成一种不友善、没有效率的表现,随着网页上呈现的内容越来越多,样式越老越多元化,与用户互动的部分也越来越多。(每次刷新其实就以为着再次打开这个页面后,所有用户操作的旧的信息都会全部归0,相信大家都遇到过注册用户这个步骤吧,我的一个高手朋友周公,就在他的博客中,谈到过他曾经遇到过的一件事,很多年前,带宽很窄,在他填写完一个网站的注册信息后,若干分钟后,弹出“用户名已存在”的对话框,乃至他对此事记忆犹新。同样在我们按照注册要求填写好信息提交后,最不想看到的就是非用户操作引起的注册失败,比如许多与数据库相关的验证、储存数据等操作最后还得送到服务端来处理,早期的技术不能实现想现在大多网站在我们输入用户名后,点击网页提供的按钮,提前检查你所登记的用户名是否存在的这个注册失败条件,你不必等待网站的反馈信息,可以继续填写余下的注册条件,即使返回了失败的信息,你只需修改新的用户名,不会影响你已经填写好下面的信息,这种(AJAX)技术实现了网页的局部刷新,提高了用户操作的方便性。)
        XMLHttpRequest的诞生
 
        页面刷新是为了要将数据送回服务器端,然后有服务器端取得更新后的页面来显示,那么如果能在不刷新页面的情况下,将数据送往服务器端,就解决了页面刷新的问题了。很幸运地,有微软推出的IE打破了这个僵局,在XML盛行的初期,修改了一部分浏览器的设计概念,允许设计师在js中创建一个 ActiveX它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。http://www.baidu.com/s?wd=ActiveX)对象 :XMLHttpRequest,利用这个对象,设计师可以用js将数据直接送到服务器而不引发页面刷新的操作,只是在当时这个功能没有公认的成为浏览器的标准,直至今日,除了IE其他的主流浏览器,如Netscape、Mozilla都已支持同样的功能,让XMLHttpRequest在一瞬间成了标准之外的热门技术,以此对象为核心的新名词AJAX全名是“Asynchronous JavaScript And XML” 也就诞生了,Asynchronous的语义来源于XMLHttpRequest所采取的异步行为模式,使用XMLHttpRequest发送数据时,必须指定一个接收返回数据的函数,送出数据后,客户端不必停下来等候数据的返回,XMLHttpRequest取得返回数据后,会调用指定的函数将数据传过去。
      在创建XMLHttpRequest对象时,指定processRequest函数为收取返回数据的函数,在XMLHttpRequest的send函数被调用后,XMLHttpRequest即发送要求,需特别注意的一点是,send函数不会像传统函数调用般等待要求被处理后而收取返回值,而是直接返回,继续运行下面的js程序,或将主导权还给浏览器,此行为模式正是AJAX中的Asynchronous语义来源。AJAX中的J代表JavaScript,虽然IE可以用vbscript来使用XMLHttpRequest对象,但是JavaScript才是诸多浏览器所支持的标准语言,因此AJAX中的J代表的是启动XMLHttpRequest对象时所使用的语言。AJAX中的第二个A代表的是and,最后的X代表的是使用XMLHttpRequest对象是所使用的数据协议,也就是XML文件格式。
    百家争鸣的AJAX Framework
 
      在XMLHttpRequest受到瞩目不久,网络上开始出现许多以XMLHttpRequest为根基的Framework,这些FrameWork大多数是以开源的方式授权,大致可以分为两大派别:一派:主张单纯的js来构建UI(即User Interface(用户界面)的简称),再利用XMLHttpRequest与服务器沟通,这个派别产品最大的特色就是绚丽的ui效果及最小化后端依赖的设计;另一派则是维持以后端为主、js为辅的架构,这个派别的产品最大的特色技术后端依赖比较搞,适合对JavaScript不甚熟悉的设计师选用。
 
    是终点还是起点,Silverlight、AIR、JavaFX
 
       2005年12月5日, Adobe(http://zhidao.baidu.com/question/10066667.html?si=1)公司以34亿美元的天价收购了以Flash风靡全球的Macromedia(http://baike.baidu.com/view/8375.htm)后,喊出了RIA的概念,推出了AIR(她的全称是”Adobe Integrated Runtime”由Adobe开发, 原代号为Apollo(阿波罗),她是一个跨操作系统运行环境,允许开发人员利用他们现有的网络开发技术(如Flash, Flex, HTML, JavaScript, PDF)在桌面系统建立和部署富互联网应用。
从本质上讲,她提供了一个桌面与浏览器结合的平台,并达到网络模式结合桌面模式功能和丰富形式的开发模式。)的产品线,将html由主角变成配角,在网页上体现出友善、类似Windows GUI(就是WINDOWS的图形用户接口,像windows对话框、菜单等)的界面。面对Adobe公司的大动作,身为开发工具领导厂商的sun与microsoft当然不能落后,microsoft首先推出了Silverlight,而且一次推出两个世代的产品,silverlight1.0不久拥有与Flash不相上下的2D绘图及影音支持,更好的是它使用js为主要开发之程序语言,silverlight1.1 Alpha则更进一步,资产c#、vb.net等.net程序语言,提供小型的.net FrameWork(SLR)让原本使用.net Framework的程序员更轻松地利用silverlight1.1来构建新一代的RIA网页应用程序。随后sun公司则推出了JavaFX,同样支持2D绘图与影音能力,JavaFX的目标似乎不在桌面应用上,而是在消费性电子产品上。
          Asp.net  AJAX的诞生
 
         2005年下半年microsoft推出了ASP.net专属的AJAX Framework:Atlas Framework。与其他AJAX Framework不同的是,Atlas以client与server端集成的角度来实现AJAX技术,除了提供了以js所打造的而成的AJAX Client Framework 之外,Atlas同时也提供了数个ASP.net server control,借助这些控件的强力支持,Atlas Framework可以让开发者一行js代码都不用写,建构出拥有AJAX功能的ASP.net网页应用程序。其中最令人感到震撼的是updatepanel控件,其内可以放入大多数的ASP.net控件,2007年推出Atlas Framework的正式版,更名为 ASP.NET AJAX Framework。但是只有ASP.net 2.0才能享受到ASP.NET AJAX 带来的便利。获得ASP.NET AJAX 的方法很简单,只要链接到ASP.NET AJAX 的下载网页即可下载。(Http://www.asp.net/ajax/downloads)(vs2008专业版中自带了ASP.NET AJAX ,不需再按装)。   
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185677如需转载请自行联系原作者

叶子文文
相关文章
|
1月前
|
人工智能 API 数据库
Semantic Kernel .NET 架构学习指南
本指南系统解析微软Semantic Kernel .NET架构,涵盖核心组件、设计模式与源码结构,结合实战路径与调试技巧,助你从入门到贡献开源,掌握AI编排开发全栈技能。
160 2
|
12月前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
459 0
|
12月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
272 3
|
JSON 前端开发 JavaScript
java-ajax技术详解!!!
本文介绍了Ajax技术及其工作原理,包括其核心XMLHttpRequest对象的属性和方法。Ajax通过异步通信技术,实现在不重新加载整个页面的情况下更新部分网页内容。文章还详细描述了使用原生JavaScript实现Ajax的基本步骤,以及利用jQuery简化Ajax操作的方法。最后,介绍了JSON作为轻量级数据交换格式在Ajax应用中的使用,包括Java中JSON与对象的相互转换。
222 1
学习计算机组成原理(王道考研)------第十一天https://zhengyz.blog.csdn.net/article/details/121706379?spm=1001.2014.3001.5502
这篇文章是关于计算机组成原理的王道考研学习笔记,主要介绍了半导体存储器RAM和ROM的相关知识。
学习计算机组成原理(王道考研)------第十一天https://zhengyz.blog.csdn.net/article/details/121706379?spm=1001.2014.3001.5502
|
开发框架 缓存 算法
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
799 0
|
机器学习/深度学习 PyTorch 算法框架/工具
【文献学习】Phase-Aware Speech Enhancement with Deep Complex U-Net
文章介绍了Deep Complex U-Net模型,用于复数值的语音增强,提出了新的极坐标掩码方法和wSDR损失函数,并通过多种评估指标验证了其性能。
235 1
|
前端开发 Java UED
告别页面刷新时代:Struts 2 Ajax技术揭秘,轻松实现动态加载,Web应用焕然一新!
【8月更文挑战第31天】在Web应用开发中,用户体验至关重要。为减少页面刷新带来的不适,Ajax技术应运而生。Struts 2作为流行的Java EE框架,通过内置的Ajax支持简化了无刷新页面动态加载的实现。本文通过对比传统请求响应模式,展示了Struts 2如何轻松实现Ajax功能,提升了用户体验和开发效率,并灵活地实现了数据交换。然而,使用Ajax时还需注意SEO和跨域请求等局限性。
126 0
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
157 5