美文网首页
跨域的解决方式

跨域的解决方式

作者: 大主教小豪 | 来源:发表于2017-09-11 01:18 被阅读13次

1.JSONP(JSON with Padding)
可用于解决主流浏览器的跨域数据访问的问题。
由于Web 页面上调用 js 文件不受浏览器同源策略的影响,所以可以通过 Script 便签可以进行跨域的请求。

QQ截图20170911002052.png QQ截图20170911002116.png

2.CORS (Cross-Origin Resource Sharing)
CORS定义一种跨域访问的机制,可以让AJAX实现跨域访问。CORS 允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。实现此功能非常简单,只需由服务器发送一个响应标头即可。(使用时IE浏览器不能低于IE10。)

Paste_Image.png

CORS与JSONP的使用目的相同,但是比JSONP更强大。
JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

3.降域
通过双向设置 document.domain 的值,解决主域名下的跨域问题。(document.domain:获取/设置当前文档的原始域部分, 用于同源策略。)

有两个二级域名:a.jirengu.com 和 b.jirengu.com,可通过设定 document.domain 的值为主域名:jirengu.com 的方式,突破浏览器的同源策略限制,来获取对方的元素
a —— document.domain ='jirengu.com'
b —— document.domain ='jirengu.com'

降域具有很大的局限性,适用范围较小,适合在同一主域名下使用

4.postmessage
HTML5中新增postMessage方法,可以实现跨文档消息传输。该方法可以通过绑定window的message事件来监听发送跨文档消息传输内容。

a页面


QQ截图20170911011238.png

b页面

QQ截图20170911011343.png

相关文章

  • springboot 在整合shiro后,跨域就失效了。

    原springboot 解决跨域问题 使用 tomcat 中的 Filter的方式解决跨域

  • 跨域

    ??JSONP只能解决GET请求跨域,不能解决POST请求跨域问题,XHR2可以解决GET,POST方式的请求跨域...

  • AJAX

    题目 手写一个ajax 跨域的常用实现方式 知识点 XMLHttpRequest 状态码 跨域:同源策略,跨域解决...

  • Vue实现跨域请求

    一般解决跨域问题可以通过CORS跨域、JSONP和反向代理跨域。下面分别介绍这三种跨域方式: 1、CORS 以ne...

  • SpringBoot 实现前后端分离的跨域访问(CORS)

    springBoot小白写博客时遇到了跨域问题,顺便记录一下踩过的坑 springboot解决跨域的几种方式 方式...

  • Flask-cors跨域

    什么是跨域 为什么要考虑跨域问题 同源策略 解决跨域问题 方式一: 使用 JSONP (一种非Ajax技术,需要前...

  • 跨域解决方式

    出于安全方面的考虑,浏览器遵从同源策略的原则。即同协议(http/https)、同域名(jianshu.com/j...

  • 跨域解决方式

    JSONP实现跨域 原理:网页通过添加一个 元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请...

  • 跨域 & 跨域的几种解决方式

    什么是跨域 跨域是由于浏览器同源策略的限制,它是对 JavaScript 的限制。浏览器不允许执行其他网站的脚本 ...

  • 浏览器跨域及其解决方案

    title: 浏览器跨域及其解决方案author: Maydate: 20220428 什么是跨域跨域的表现解决跨...

网友评论

      本文标题:跨域的解决方式

      本文链接:https://www.haomeiwen.com/subject/stazjxtx.html