一、DOM本质
浏览器把拿到的html代码,结构化一个浏览器能识别并且js可操作的一个模型而已。
二、Ajax
2.1 XMLHttpRequest
2.2 状态码说明
readyState
-
0-(未初始化)还没有调用send()方法
-
1-(载入)已调用send()方法,正在发送请求
-
2-(载入)send()方法执行完成,已经接收到全部响应内容
-
3-(交互)正在解析响应内容
-
4-(完成)响应内容解析完成,可以在客户端调用了
status
-
2xx - 表示成功处理请求。如200
-
3xx - 表示重定向,浏览器直接跳转
-
4xx - 客户端请求错误,如404
-
5xx - 服务器端错误
三、跨域
3.1 什么是跨域
-
浏览器有同源策略,不允许ajax访问其他域接口
-
跨域条件:协议、域名,端口,有一个不同就算跨域
3.2 可以跨域的三个标签
3.3 跨域注意事项
-
所有的跨域请求都必须经过信息提供方允许
-
如果未经允许即可获取,那是浏览器同源策略出现漏洞
四、JSONP实现原理
jsonp,即json+padding,动态创建script标签,利用script标签的src属性可以获取任何域下的js脚本,通过这个特性(也可以说漏洞),服务器端不在返货json格式,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域
面试真题
1、DOM操作的常用API有哪些
-
获取DOM节点,以及节点的propperty和Attribut
-
获取父节点,获取子节点
-
新增节点,删除节点
2、Dom节点的 Attribute 和 property 有何区别
-
property只是一个JS对象的属性的修改
-
attribute 只对html标签属性的修改
3、编写一个通过的事件绑定函数
愿你成为终身学习者