AJAX的工作原理

         Ajax究竟是什么?AsynchronousJavaScript And XML这是什么意思?是异步的JavaScript和XML这又是什么意思呢?

         Ajax他本身并非一项新的技术,它是综合了非常多我们之前的BS里学过的技术比如JavaScript、CSS…

例如以下的这张图就是Ajax的工作原理:


         Ajax是通过js写的;当中的XMLHttpRequest对象是负责和server交互的,它使得Ajax可以以后台的方式获得数据。而当中的DOM和CSS是用来控制显示样式的,通过JS使得页面可以动态的展示服务端传送回来的数据。

我们一直在说从后台传送数据。这究竟是什么又有什么优点呢?

首先看一下我们传统的web端和server交互的过程


        它是这种,用户在浏览器端做了一个操作。这个时候须要server端进行处理然后将处理后的数据返回给浏览器展示在客户的面前。而在服务去处理的过程中用户仅仅可以等待,直到结果返回。所以有非常大一部分的时间用户都是在等待的。

 

        而Ajax的工作模式是例如以下的


        相对传统的模式在用户和服务端交互的时候多了一个AJAX引擎,当用户进行了操作后实际上就是通过我们写的JS的代码然后通过XMLHttpRequest对象向服务端发送请求,然后是由介于中间的AJAX牵引擎来进行待定。用户就能够继续的在浏览数进行自己的操作。

 

        感觉使用AJAX引擎非常像设计模式中的代理模式。在浏览器和AJAX引擎中都有向服务端发送请求和接受数据的功能,而AJAX引擎是一个代理,在浏览器有请求后是AJAX实际运行的。也是由AJAX等待结果最后将结果返回给浏览器端。

 

小结:

        在刚開始学AJAX的时候对非常多的概念都比較模糊,并且和前面的JS、CSS、DOM结合的也不好,想实现一个demo非常难,在做项目的时候遇到了有学到了非常多视频上没有的概念。总后总结出一个道理学习的时候把原理能清楚是必要的,这样就能依据自己实际要实现的功能进行灵活的变化。

posted @ 2017-06-16 16:45  zsychanpin  阅读(124)  评论(0编辑  收藏  举报