跨域/DOM

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。

posted @ 2020-03-20 09:49  mle123  阅读(301)  评论(0编辑  收藏  举报