最近开始学习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如需转载请自行联系原作者
叶子文文

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

  1. ajax学习记录总结

    Ajax学习记录 URL 地址组成:客户端与服务器之间的通信协议 存有该资源的服务器名称 资源在服务器上具体的存放位置 客户端与服务器通信过程 请求-处理-相应 资源的请求方式 get请求用于获取服务 ...

  2. 机器学习实战中的函数学习记录

    title: 机器学习实战中的函数学习记录 date: 2020-05-01 09:20:50 tags: [python函数] categories: 机器学习实战 更多内容请关注我的博客 记录机器 ...

  3. 【拉扎维书中的电路仿真学习记录_未完待续】

    [拉扎维书中的电路仿真学习记录] 第四章 1. 简单的差动电路 2 习题4_4 第四章 1. 简单的差动电路 1.p32, 图4.6,简单的差动电路 2.ADE设置 3.输入输出波形 Vin1 与 V ...

  4. 前端学习记录13-CSS-(滑动门技术,微信导航栏实现,淘宝轮播图实现,图标字体实现,过渡效果,获得焦点元素)

    前端学习记录13-CSS-滑动门技术,微信导航栏实现,淘宝轮播图实现,图标字体实现,过渡效果,获得焦点元素 滑动门技术 微信导航栏实现 静态轮播图实现 网上引用的图标字体设置 过渡效果(transit ...

  5. 尚硅谷ajax学习记录

    AJAX Ajax即Asynchronous Javascript And XML(异步JavaScript和XML) 环境搭建 安装node.js C:\Users\xlgui>node -v ...

  6. matlab中quat2angle,matlab 学习记录

    (1)元胞数组的创建 a={'matlab',20;ones(2,3),1:10}                                        %创建方法一 b=[{'matlab' ...

  7. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  8. 在ASP.NET中实现Url Rewriting(非常的有价值!)

    在ASP.NET中实现Url Rewriting 作者:Scott Mitchell 翻译:Janssen 1.0.请一定要抱着批评的态度来看该文章 1.1. 概要 分析如何使用微软提供的ASP.NE ...

  9. 面结构光测量中DLP投影机学习

    面结构光测量中DLP投影机学习 记录面结构光测量中关于投影机的一些问题 新的改变 投影仪亮度.投影图像灰度之间的关系 投影仪亮度指代的是DLP投影机LED灯光源的亮度本身,一般通过调节驱动电流强度.做 ...

最新文章

  1. matlab求解复杂复数方程,用matlab求解一个两重积分方程(未知数在积分下限,含复数积分)...
  2. JMS学习七(ActiveMQ之Topic的持久订阅)
  3. (c语言)求x的y次方
  4. Windows下误删文件解决办法
  5. Wamp在重新装机后不想配置
  6. BZOJ2795/2890/3647 [Poi2012]A Horrible Poem 【字符串hash】
  7. 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
  8. orcale和mysql跨库查询_ORACLE跨数据库查询的方法
  9. 找出所有全部成绩合格(分数大于等于60分)的学生姓名,找出总成绩最高的前三名同学姓名,以及他们分别的全科总分数
  10. matlab显示大图像
  11. msvcp140.dll丢失如何修复?win7丢失msvcp140.dll的修复方法
  12. maven发布SNAPSHOT版本到私服仓库
  13. 轻型本地服务器_一小时超轻型漂移机
  14. Android Studio 修改 Java 语言版本到 1.8
  15. 性能测试工具的 Coordinated Omission 问题
  16. python视觉识别库_机器视觉、模式识别库汇总
  17. 微信指数批量采集、导出
  18. buuctf web warmup详细题解
  19. linux驱动tft屏幕,Linux2.6.26.5加入TFT-LCD驱动
  20. 开心测试卷答案软件六下外研版,外研版英语六年级小升初测试卷含答案

热门文章

  1. python pytest allure_python-pytest-Allure2测试报告生成
  2. php 修改 title,WordPress通过functions.php修改meta title样式
  3. centos mysql拒绝连接失败_CentOS下mysql远程连接的失败的解决方法
  4. Linux下安装ftp服务器异常,linux下安装ftp服务器
  5. 在MM32F3273上运行MicroPython,对于性能进行测试
  6. 测量150kHz接收电路的主要的一些特性:扫频,线性,工作电压影响
  7. 信号转换 | 将对称方波转换成倍频PWM波形
  8. python 批量下载网址_python 遍历oss 实现批量下载
  9. python数据库模块_十二、Python高级功能之Mysql数据库模块
  10. queue java 判断重复值_java集合类深入分析之Queue篇(Q,DQ)