ajax面试题
1.用post方式异步向服务器端提交数据时,需要在发送请求前设置什么?
提交的数据放在什么位置?
答案:xhr.setRequestHeader("Content-Type",application/x-www-form-urlencoded);
数据放在send()括号中.
2.什么是异步数据加载?
答案:浏览器在向服务器发送请求的时候,不耽误用户在网页上做其他操作,
可以同时开启多个任务,并且可以以无刷新的效果来更改页面中的局部内容.
3.异步请求数据的步骤分为哪几步?
答案:创建异步对象,绑定监听对象,创建异步请求,发送异步请求
var xhr= new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState==4&xhr.status==200){
var resText=xhr.responseText;
}
}
xhr.open(methods,url,true);
xhr.send(body);
4.异步请求中满足什么条件时才能取出响应的结果数据?
答案:请求状态码为4,响应状态码为200时.
5.如何理解JSON?
答案:JSON是JS对象的一种表现方式,即以js对象的数据格式表现出来的字符串,
JSON中的两个api如下:
将JSON字符串转换为JSON对象JSON.parse()
将JSON对象转换为JSON字符串JSON.stringify()
6.http和https的区别?
答案:http传输的数据都是未加密的,也就是明文的
https协议是由http和ssl协议构建的可进行加密传输和身份认证的网络协议,比http
协议的安全性更高。
两者使用不同的链接方式,端口也不同,一般而言,http协议的端口为80,https的端口为443
7.列举几种常见的3和4开头的状态码以及他们的意义?
答案:
301:永久性重定向
302:临时重定向
304:请求资源未被修改,命中缓存
400(错误请求) 服务器不理解请求的语法
403(禁止)服务器拒绝请求
404(未找到)服务器找不到请求的网页
8.什么是ajax?有哪些优缺点?
答案:AJAX是"Asychronous JavaScript and XML"的缩写。他是指一种创建交互式网页
应用的网页开发技术。
优点:
1.局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验.
2.减少服务器的压力,按需取数据,最大程度的减少冗余数据请求.
3.基于xml标准化,并被广泛支持,不需要安装插件.
4.促进页面和数据的分离.
缺点:
1.Ajax破坏了浏览器的Back和History功能.
2.Ajax安全问题
3.对搜素引擎支持较弱.
4.破坏程序的异常处理机制.
5.Ajax不是很好支持移动设备.