前端面试必问题

1.谈谈你对ajax的理解?(概念,特点,作用,代码)

ajax是指一种创建交互式网页应用的开发技术,改善用户体验,实现无刷效果。

优点:不需要插件的支持,优秀的用户体验,提高web程序性能,减轻服务器和带宽的负担

缺点:破环浏览器的“前进”,“后退”按钮的正常功能,是可以通过简单的插件弥补

代码:

var xhr=new XMLHttpRequest()

var url="https://home.firefoxchina.cn"//要请求的地址

xhr.open('get',url,true)

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

相关推荐