Ajax相关知识点

Posted Java知识点及面试精选

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax相关知识点相关的知识,希望对你有一定的参考价值。


Ajax 概述:

Ajax 即"Asynchronous javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。Ajax = 异步 JavaScript 和 XML(标准通用标记语言的子集)。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。



Ajax 的应用场景:

  1. 输入值校验的问题

  2. 级联显示的问题

  3. 请求结果只改变部分页面

  4. 数据录入和列表显示在同一个页面

  5. 翻页问题

  6. .....

Ajax不适用场景:

  1. 部分简单的表单

  2. 搜索

  3. 基本的导航

  4. 替换大量的文本

  5. 对呈现的操纵


Ajax包含下列技术:

  1. 基于web标准(standards-basedpresentation)Xhtml+CSS的表示;

  2. 使用 DOM(Document ObjectModel)进行动态显示及交互;

  3. 使用 XML 和 XSLT 进行数据交换及相关操作;

  4. 使用 XMLHttpRequest 进行异步数据查询、检索;

  5. 使用 JavaScript 将所有的东西绑定在一起。



AJAX技术体系的组成部分有哪些:

HTML,css,dom,HTML,css,dom,xml,xmlHttpRequest,javascript



AJAX应用和传统Web应用有什么不同

  1. 在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。

  2. 因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很慢而且用户交互不友好。

  3. 使用AJAX技术, 就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。

  4. 通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应。



AJAX请求总共有多少种CALLBACK:

  1. onSuccess

  2. onFailure

  3. onUninitialized

  4. onLoading

  5. onLoaded

  6. onInteractive

  7. onComplete

  8. onException



同步是指:

发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式



异步是指:

异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。



同步方式与异步方式的区别

  1. 异步请求是进行局部刷新,同步请求是进行整体刷新

  2. 异步请求是由ajax的引擎发起的,同步请求是由浏览器发起的

  3. 异步请求在请求发起之后还没收到响应之前还可以再次发起其它请求不影响当前页面的操作,而同步请求在发起之后,只有收到了响应后才能进行其它操作。




简述ajax的过程:

  1. 创建XMLHttpRequest对象,也就是创建一个异步调用对象

  2. 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息

  3. 设置响应HTTP请求状态变化的函数

  4. 发送HTTP请求

  5. 获取异步调用返回的数据

  6. 使用JavaScript和DOM实现局部刷新



Ajax的优点

     Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点:

  1. 无刷新更新数据。

    AJAX最大优点就是能在不刷新整个页面的前提下与服务器通信维护数据。这使得Web应用程序更为迅捷地响应用户交互,并避免了在网络上发送那些没有改变的信息,减少用户等待时间,带来非常好的用户体验。

  2. 异步与服务器通信。

    AJAX使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。优化了Browser和Server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。

  3. 前端和后端负载平衡。

    AJAX可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。

  4. 基于标准被广泛支持。

    AJAX基于标准化的并被广泛支持的技术,不需要下载浏览器插件或者小程序,但需要客户允许JavaScript在浏览器上执行。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。

  5. 界面与应用分离。

    Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。



AJAX的缺点

  1. AJAX干掉了Back和History功能,即对浏览器机制的破坏。

    在动态更新页面的情况下,用户无法回到前一个页面状态,因为浏览器仅能记忆历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常会希望单击后退按钮能够取消他们的前一次操作,但是在Ajax应用程序中,这将无法实现。

  2. AJAX的安全问题。

    AJAX技术给用户带来很好的用户体验的同时也对IT企业带来了新的安全威胁,Ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。Ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有Ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于Credentials的安全漏洞等等。

  3. 对搜索引擎支持较弱。

    对搜索引擎的支持比较弱。如果使用不当,AJAX会增大网络数据的流量,从而降低整个系统的性能。

  4. 破坏程序的异常处理机制。

    至少从目前看来,像Ajax.dll,Ajaxpro.dll这些Ajax框架是会破坏程序的异常机制的。关于这个问题,曾在开发过程中遇到过,但是查了一下网上几乎没有相关的介绍。后来做了一次试验,分别采用Ajax和传统的form提交的模式来删除一条数据……给我们的调试带来了很大的困难。

  5. 违背URL和资源定位的初衷。

  6. AJAX不能很好支持移动设备。

    一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax,比如说我们在手机的浏览器上打开采用Ajax技术的网站时,它目前是不支持的。




附:如有不足之处请指教,谢谢.

以上是关于Ajax相关知识点的主要内容,如果未能解决你的问题,请参考以下文章

JS数据交互-Ajax相关知识

AJAX相关知识总结

JS学习之ajax相关知识和ajax的封装

JS-Ajax相关知识

AJAX跨域调用相关知识-CORS和JSONP

JavaLearn#(25)Ajax相关知识三级联动案例Bootstrap入门栅格系统排版表格字体图标等简单概述