全方位详解Ajax(上)

一. 首先这是一个老生畅谈的问题,曾经我一天面试下来,至少有三家会问到这个问题,说说你对ajax的认知,说白了就是什么是ajax,ajax有啥用?

什么是ajax:

  • AJAX是 Asynchronous JavaScript and XML 的缩写;

  • 它是一种创建交互式网页应用的网页开发技术;

  • AJAX是2005年由Google发起并流行起来的编程方法;

  • AJAX不是一个新的编程语言,但是它是一个使用已有标准的新的编程技术;

  • 使用AJAX可以创建更好,更快,更用户界面友好的Web应用;

  • AJAX技术基于Javascript和HTTP Request;

Ajax需要依赖哪些技术作支撑:

  • 基于web标准(standards-based presentation)XHTML+CSS的表示;

  • 使用 DOM(Document Object Model)进行动态显示及交互;

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

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

  • 使用 JavaScript 将所有的东西绑定在一起;

为什么要用ajax,它的优势所在:

  • 通过异步模式提升了用户体验;
  • 优化了浏览器服务器之间的传输,减少不必要的数据往返,减少了带宽占用,降低了资源浪费;
  • Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载;

二. 那么Ajax的最吸引人的特点是什么?

  • Ajax可以实现动态不刷新,也就是局部刷新的功能,这在手机端可是很有用的哦;

  • 再说直白点就是能在不更新整个页面的前提下维护数据, 这样做就会让我们的Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的、重复性的信息,用户也无需等待太长的时间,大大的提高了用户的体验;

三. Ajax第一步创建一个XMLHTTPREQUEST对象,你对它是怎么看的?以及它存在的浏览器兼容性问题?怎么解决?

Ajax的核心是JavaScript对象XmlHttpRequest;

该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术;

简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户;

通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新;

兼容性问题:

var xhr;
if (window.XMLHttpRequest)
{
    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xhr = new XMLHttpRequest();
}
else
{
    // IE6, IE5 浏览器执行代码
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

或者使用try......catch......写法;

四. Ajax技术体系的组成部分有哪些?

html,css,dom,xml,xmlHttpRequest,javascript;

五. AJAX应用和传统Web应用的不同之处?

传统的Javascript编程中,如果:

  • 想要访问到服务器端数据库或文件上的信息;

  • 或者发送客户端信息到服务器;

需要建立一个HTML form,然后GET或者POST数据到服务器端;

用户需要点击Submit按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载;

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

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

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

六. AJAX请求总共有多少种回调函数---CALLBACK?

Ajax请求总共有八种Callback:

  • onSuccess
  • onFailure
  • onLoading
  • onLoaded
  • onUninitialized
  • onInteractive
  • onComplete
  • onException

其实这个我也不咋用,最常见的也就前四种;

七.Ajax和javascript的区别?

javascript是一种在浏览器端执行的 客户端 脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript;

Javascript是由网景公司开发的一种脚本语言,它和sun公司的Java语言是没有任何关系的,它们相似的名称只是一种行销策略;

在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容;

你可能感兴趣的:(全方位详解Ajax(上))