#1.谈谈你对ajax的理解?(概念,特点,作用,代码)
ajax是指一种创建交互式网页应用的开发技术,改善用户体验,实现无刷效果。
优点:不需要插件的支持,优秀的用户体验,提高web程序性能,减轻服务器和带宽的负担
缺点:破环浏览器的“前进”,“后退”按钮的正常功能,是可以通过简单的插件弥补
代码:
var xhr=new XMLHttpRequest()//创建new XMLHttpRequest对象
var url="https://home.firefoxchina.cn"//准备发送请求的地址
xhr.open('get',url,true)//调用XMLHttpRequest对象的方法
xhr.onreadystatechange=function(){
if(xhr.readyState===4&&xhr.status===200){
var data=JSON.parse(xhr.responseText).result.data;
console.log(data);
for(var i=0;i<data.length;i++){
//条件体
}
}
xhr.send();
}
#2.什么是跨域,如何实现跨域访问?
跨域是指不同域名之间的访问。
实现:
(1)JSONP跨域:利用script脚本允许引用不同下域下的js实现的,将回调方法带入服务器,返回结果时
回调。
(2)跨域资源共享(cors)
跨域资源共享是一种网络浏览器的技术规范它为web服务器定义一种方式,允许网页从不同的域访问其资源
cors与jsonp相比
a,JSONP只能实现get请求,而cors支持所有类型的http请求。
b,使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理
c,JSONP主要被老的浏览器支持,他们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS