ajax常见的面试题

1. 什么是ajax?javascript

  AJAX = Asynchronous (异步) JavaScript and XML,是一种用于建立快速动态网页的技术。php

2. ajax接受到的数据类型是什么?css

  2.1 stringjava

  2.2 JSON字符串ajax

  2.3 JSON对象json

3. ajax的适用场景有哪些?优势和肯定分别是什么?小程序

  适用场景:表单的失焦验证,表单的自动补全功能,页面只须要局部刷新的时候。跨域

  优势:数组

    1. 页面局部刷新。浏览器

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

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

    4. 基于标准化的并被普遍支持的技术,不须要下载插件或者小程序。

  缺点:

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

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

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

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

    5. 不易于调试。

4. 建立ajax的步骤?

<script>
		// 1.建立ajax对象-xmlhttprequest对象
		// XMLHttpRequest 对象

		// variable=new XMLHttpRequest();    新版本的浏览器
		// variable=new ActiveXObject("Microsoft.XMLHTTP");    //老版本的IE  ,IE5,IE6
		var xhr;
		if(window.XMLHttpRequest){    //常规,若是有,直接使用
			xhr = new XMLHttpRequest();
		}else{   //若是没有,老版本IE
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		console.log(xhr)
		console.log("状态码:" + xhr.readyState);
		console.log('响应码:' + xhr.status);
		console.log('响应文本:' + xhr.responseText);
		console.log('步骤一完成')


		// 2.经过监听ajax的状态的改变来监听
		xhr.onreadystatechange = function(){
			console.log('xhr的状态码发生了改变');
			console.log("状态码:" + xhr.readyState);
			console.log('响应码:' + xhr.status);
			console.log('响应文本:' + xhr.responseText);
			console.log('\n');
		}
		console.log('步骤二完成')

		// 3.建立请求的消息,链接服务器      状态码0=>1
		xhr.open('GET','07.php',true);    //最后一个参数是bool,表示同步||异步,true异步
		console.log('步骤三完成')

		// 4.发送
		xhr.send(null);   //若是是post请求,就放post参数,若是是get请求,发送null就好了 
</script>

5. 同步和异步的区别?

  同步会阻塞代码的运行。

    表明:循环,script加载src

  异步不会阻塞代码的运行。

    表明:定时器,link加载css,img加载src

6. GET和POST的区别?

  GET:传递的参数在地址栏中,发送的数量有限,通常在2000个字符左右。

  POST:传递的参数在请求体中,理论上,若是网速良好的状况下,对发送的参数是没有限制的。

7. ajax请求是GET和POST的区别?

  get通常用来进行查询操做,url地址有长度限制,请求的参数都暴露在url地址当中,若是传递中文参数,须要本身进行编码操做,安全性较低。

  post请求方式主要用来提交数据,没有数据长度的限制,提交的数据内容存在于http请求体中,数据不会暴漏在url地址中。

8. http常见的状态码有那些?分别表明是什么意思?

  200 - 请求成功

  301 - 资源(网页等)被永久转移到其它URL

  404 - 请求的资源(网页等)不存在

  500 - 内部服务器错误

9. ajax和JSON对比,二者的优缺点?

  ajax:优势:可使得页面不重载所有内容的状况下加载局部内容,下降数据传输量,避免用户不断刷新或者跳转页面,提升用户体验。

       缺点:对搜索引擎不友好;要实现ajax下的先后退功能成本较大;可能形成请求数的增长跨域问题限制

  JSON:优势:轻量级、易于人的阅读和编写,便于机器(JavaScript)解析,支持复合数据类型(数组、对象、字符串、数字)

10. 解释jsonp的原理,以及为何不是真正的ajax

  Jsonp并非一种数据格式9,而json是一种数据格式,jsonp是用来解决跨域获取数据的一种解决方案,具体是经过动态建立script标签,而后经过标签的src属性获取js文件中的js脚本,该脚本的内容是一个函数调用,参数就是服务器返回的数据,为了处理这些返回的数据,须要事先在页面定义好回调函数,本质上使用的并非ajax技术。

相关文章
相关标签/搜索