Ajax面试题

一、什么是Ajax(谈谈你对Ajax的理解)

    Ajax是异步的 JavaScript和XML。 是一种用于创建快速动态网页的技术。 ajax用来与后台交互。

二、Ajax有几种请求方式?常用的请求方式他们有什么区别?

    常用的post,get,。不常用delete、copy、head、link等等。

    代码上的区别:

        1:get通过url传递参数;

        2:post设置请求头 规定请求数据类型。

    使用上的区别:

        1:post比get安全 (因为post参数在请求体中。get参数在url上面)

        2:get传输速度比post快 根据传参决定的。(post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)

        3:post传输文件大理论没有限制,get传输文件小大概7-8k ie4k左右。

        4:get获取数据 post上传数据。(上传的数据比较多 而且上传数据都是重要数据。所以不论在安全性还是数据量级 post是最好的选择)

三、请介绍一下XMLhttprequest对象

    XmlHttpRequest对象是Ajax的核心,用于在后台与服务器交换数据。该对象在IE5中首次引入,它是一种支持异步请求的技术。它能让开发人员实现:在不重新加载页面的情况下更新网页;在页面已加载后从服务器请求数据;在页面已加载后从服务器接收数据;在后台向服务器发送数据。

四、简述Ajax异步调用和局部刷新,需要几个步骤(实现Ajax的基本步骤)

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

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

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

    4.发送HTTP请求;

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

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

五、json字符串转换集json对象、json对象转换json字符串 

    //字符串转对象

    JSON.parse(json)eval('(' + jsonstr + ')') 

     // 对象转字符串

    JSON.stringify(json)

六、ajax接受到的数据类型是什么?

    String;JSON串;JSON对象

七、哪些地方需要ajax,哪些地方不需要

    页面不进行跳转刷新的时候,异步处理数据的时候,表单自动补全功能----使用Ajax;

    提交后不再使用原页面,可以进行跳转刷新的,查询之类的功能,可以不用Ajax

八、Ajax技术体系的组成部分有哪些?

    HTML,css,dom,xml,xmlHttpRequest,javascript

九、AJAX有几种状态?

        0 - (未初始化)还没有调用send()方法

        1 - (载入)已调用send()方法,正在发送请求

        2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

        3 - (交互)正在解析响应内容

        4 - (完成)响应内容解析完成,可以在客户端调用了

十、介绍一下XMLHttpRequest对象的常用方法和属性(回答的越多越好)

    1.open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式。 

    2.第二个参数是请求页面的URL。 

    3.send()方法,发送具体请求

    4.abort()方法,停止当前请求

    5.readyState属性 请求的状态 有5个可取值 0=未初始化 ,1=正在加载 2=以加载,3=交互中,4=完成

    6.responseText 属性 服务器的响应,表示为一个串

    7.reponseXML 属性 服务器的响应,表示为XML

    8.status 服务器的HTTP状态码,200对应ok 400对应not found

十一、AJAX都有哪些有点和缺点?

    ajax的优点

        1、最大的一点是页面无刷新,用户的体验非常好。

        2、使用异步方式与服务器通信,具有更加迅速的响应能力。

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

        4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

    ajax的缺点

        1、ajax不支持浏览器back按钮。

        2、安全问题 AJAX暴露了与服务器交互的细节。

        3、对搜索引擎的支持比较弱。

        4、破坏了程序的异常机制。

        5、不容易调试。

十二、在浏览器端如何得到服务器端响应的XML数据?

    XMLHttpRequest对象的responseXML属性

你可能感兴趣的:(Ajax面试题)