【JS面试】第九章 Ajax

题目
a) 手动编写一个ajax,不依赖第三方库
b) 跨域的几种实现方式
知识点
XMLHttpRequest
var xhr=new XMLHttpRequest();
xhr.open(‘GET’,’/app’,false) //false 异步
xhr.onreadystatechange=function(){
if(xhr.readyState4){
if(xhr.state
200){
alert(xhr.responseText)
}
}
}
xhr.send(null)
IE低版本使用ActiveObject,和W3C不同
状态码说明
xhr.readyState4
0 (为初始化)还没有调用send方法
1 (载入)已调用send方法,正在发生请求
2 (载入完成)send方法执行完成,已接收到全部相应内容
3 (交互)正在解析相应内容
4* (完成)响应内容解析完成,可以在客户端调用了
xhr.state
200
2xx 表示成功处理请求 如200
3xx 需要重定向,浏览器直接跳转
4xx 客户端请求错误 如404
5xx 服务端错误
跨域
什么是跨域
浏览器有同源策略,不允许ajax访问其他域接口
跨域条件:协议、域名、端口,有一个不同计算跨域
但是有三个标签允许跨域加载资源
用于打点统计,统计网站可能是其他域

link script可以使用CDN,CDN的也是其他域

JSONP 服务器端设置http header

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章