农民眼里的 AJAX

来源:互联网 发布:浙师大行知学院2017 编辑:程序博客网 时间:2024/04/27 16:51
      我是农民吗?是的,我是。我真的是农民吗?是的,绝对是的。因为我是我爹的儿子,我爹是农民,所以我也是。这不是废话吗?是的,的确是废话。每次写blog之前如果不说几句废话,心里就憋屈的很,就如同有人不在大家面前提一些生动的概念(如AJAX、SOA等)就不足以证明他是高手一样。虽然我刚才也提了一次,不过我绝对不是什么高手,真的,我是一个农民!  (一堆废话)
    不过农民也是享有对新知识、新技术的知晓权的,哈哈!
    1. 什么是AJAX?我可以知道吗?可以。AJAX就是异步的JavaScript和XML...技术,要看英文怎么写,劳驾您请自己上网查。

    2. 什么是异步呢?异步就是不同步,什么又是同步呢?同步就是如果你给我一拳,我接着立即还你一脚。明白了没?不明白赶紧上网搜哦。

    3. 什么时候用到异步技术呢?   比如我在打麻将,老婆揪着我的耳朵让我回家烧饭。客气的,我就对雀友说一声:“本人要去做饭。需要30分钟,请等待!”,不客气的,直接就把雀友给撂桌上了。都说小赌可以怡情,大赌可以发家致富,可是你说就这习气,久而久之谁还跟我打牌,我到哪里去怡情、致富呀?终于有一天,我花了血本买了个电饭锅。从此得解放呀!一边打麻将,一边等吃饭。各位,电饭锅的工作原理不需要我解释了吧? 

    到此,我能不能说AJAX就是我的那只电饭锅呢?因为它,我得了“2006年度小区最积极雀友奖” ,“2006年读小区最优秀家庭妇男奖”等等,还有好多奖状我还没来得及领呢?
    
   你是不是不禁想问-AJAX具体怎么实现呀?如果你真这样想,那你就想对了。因为我下面正想讲这个问题,虽然我只是个农民,不是电气工程师,但家里螺丝刀什么的还是有的呀,拆呀!把那只锅拆了看看。
别心疼,旧的不去新的不来,作为一个农民,这点气度我还是有的。废..废.废什么话呀,讲AJAX呢?严肃点!
   首先找了一个比较著名的开源框架MagicAjax看,整个代码不算多,不过除了核心我不想知道其它的东西。记住,AJAX是概念,不是编程语言、更不是一个dll。没有具体的实现标准。总结一下MagicAjax的实现方法,包括一下几点:
      1. 通过JS截获客户端的HTML元素的事件,如FORM, INPUT等。
      2.放弃默认的浏览器行为。
      3.打包截获到的事件上下文。
      4.通过HTTP对象把打包的内容向服务器提交。
      5.服务器预先截获客户端到来的数据包,并做相应处理。
      6.当服务端将要发送Response数据给客户端时,进行再次截获,更改这些数据。
      7.客户端HTTP对象收到Response数据进行处理(不是浏览器处理),主要是通过DOM操作特定ID的HTML元素。
      MagicAjax的指导思想是:总是通过透明的截获用户调用的方式处理正常的ASP.NET的逻辑。

      以下是在ASP.NET环境下, 关于最简单的AJAX实现的代码。      
AJAX CORE
以下是调用上面脚本的ASPX页面代码:
和上面对应的后代码: