现在的位置: 首页 > 综合 > 正文

Aajax工作机制

2013年03月21日 ⁄ 综合 ⁄ 共 1059字 ⁄ 字号 评论关闭

 使用AJAX的Http请求与传统的Http请求的本质区别在哪里?

       传统的http请求的发起者对于是当前页面,浏览器接收到服务器的响应后要刷新整个页面(即使只有页面中的一小部分需要更新);
xmlhttp请求的发起者可以是页面中的任何元素,浏览器接收到服务器的响应后传递给对应的处理函数,由该函数决定做什么。
 

       应该说传统的请求发出者是一个页面,发出的页面同时会处于不可用状态,等待数据刷新。Ajax中的异步请求发出者是页面中的一个HttpRequest对象,页面本身的显示和操作在请求和接收数据的过程中不受影响。

这是我对Ajax中HTTP请求的描述,通过这段描述可以很好的解释Ajax带来平滑刷新效果和良好用户体验的原因。

 

AJAX中,是什么机制实现了局部刷新功能?

局部刷新依靠的是IE的JavaScript解释器!
xmlhttprequest是IE的一个ActiveX控件.
这个控件其实就是模拟浏览器想服务器发送一个请求,并接收数据,然后用JavaScript
处理接受到的数据,局部刷新页面.

xmlhttprequest相当于发起该请求的元素直接与服务器通信而不经过浏览器(姑且这么理解),服务器返回的结果由该元素直接处理,这样就不必非得刷新整个页面了。

其实我也刚接触ajax,不知道自己理解得准不准确,还是请高手来说说吧。

DOM模型是需要了解的!JavaScript通过DOM方式操作页面元素,将返回结果显示到页面上。

建议大家详细地读一下这系列文章,还没写完,不过肯定对你理解ajax有帮助
http://www-128.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html

我对于"动态"的看法,ajax向服务器交互数据不同于以前b/s方式下的方式,以前是提交整个页面,将整个form传送到server进行操作,而ajax通过javascript向页面获取部分数据,再以xmlhttprequest发送http请求到达server,http请求可以是string,也可以是xml(这就需要理解并掌握DOM),server得到请求后进行数据处理,向页面返回处理结果(至于具体返回的形式就要看server端的程序了),之后调用页面上的另一段javascrip代码执行相应操作,将返回的值写回页面.

仔细看过上面一段话后你会发现整个页面没有被提交过,从用户视角来说,页面没有被刷新过,但却从server返回了需要的值,这个就是你想要了解的"动态"吧  : )

 

 

抱歉!评论已关闭.