jq跨域代理_JQuery前端跨域问题的七种解决方案

下面我们来看下跨域访问的原理和实现方式

一,跨域原理分析:应用同源策略轻松实现跨域

1.所谓同源是指,域名,协议,端口相同。当浏览器运行一个JS脚本时会进行同源检测,如果不同源是不能执行的。

2.源继承来自about:blank,javascript:和data:URLs中的内容,继承了将其载入的文档所指定的源,因为它们的URL本身未指定任何关于自身源的信息。

3.变更源变更源可以实现基础域相同的不同页面的跨域问题。

如:a.baidu.com/index.html 通过 iframe 引入 b.baidu.com/index.html ,但是a中的JS是不可以操作b中的内容的,但是可以通过修改源来实现。

需要在a和b中都修改domain,即 document.domain = 'baicu.com'

注意:document.doamin的修改必须是当前域或者当前域的基础域

如在a中document.domain = 'b.baidu.com'是报错的

二,跨域方案介绍

下面介绍了7种解决方案:

(1)document.domain + iframe

(2)动态创建script

(3)window.name + iframe

(4)window.postMessage

(5)CORS

(6)JSONP

(7)nginx代理

下面我们来看下具体的用法吧!!!

1,document.domain + iframe

这种方式就是上面说的变更源,

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值