1.JSONP实现跨域,及其特点缺点
JSONP:ajax请求受同源策略的影响,不允许进行跨域请求,而script标签src属性可以访问跨域的js脚本,利用这个原理,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现可跨域。
缺点:JSONP只支持get请求,因为script标签只能使用get请求。JSONP需要后端配合返回指定格式的数据。
2.如何实现跨域
(1) document.domain+iframe的设置:对于主域相同而子域不同的例子,可以两个页面都通过js强制设置document.domain为基础主域,就实现了同域。
(2) JSONP:动态创建script,再请求一个带参数的网址实现跨域通信(参数是callback函数名)
(3) Location.harsh+iframe跨域:a想与b跨域相互通信,通过中间页c来实现。三个页面,不同域之间利用iframe的location.harsh传值,相同域之间直接js访问来通信。
(4) Window.name+iframe跨域:通过iframe的src属性由外域转向本地域,跨域数据有iframe的window.name从外域传递到本地域。
(5) targetWindow.postMessage():html5中的跨域传输的window方法
(6) CORS:服务端设置Access-Content-Allow-Origin即可,前端无需设置,若要带cookie请求,前后端都要设置。
(7) 代理跨域:用代理服务器实现数据的转发。
3.Dom是什么,你的理解
文档对象模型简称DOM,是HTML和XML文档的编程接口。HTML DOM定义了访问和操作HTML文档的标准方法。DOM以树结构表达HTML文档。
4.关于DOM的API
节点创建型API,页面修改型API,节点查询型API,节点关系型API,元素属性型API,元素样式型API。