网络: JSONP跨域

同源策略:

同源策略是浏览器的一种安全策略。

协议 域名 端口均相同的源才属于同源

同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性

当浏览器的tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,

如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。

以下哪些与vip.chanke.xyz/chanke/i同源?

chanke.xyz/chanke/index 域名不同

vip.chanke.xyz:81/chank 端口不同

vip.chanke.xyz/chanke/i 协议不同

vip.chanke.xyz/aimee/in 同源


突破点: script、img等标签的src属性不受同源策略限制。

        <script src="http://vip.chanke.xyz/git/chanke/demo.php"></script>
<script>
 // 获取到的内容放在这里
</script>
      

src链接中获取到的内容将会放在script标签中,如txt,jpg(编码格式)等等也会放在标签中,如果是php文件,如果有后台程序,则返回处理后的结果,如果没有,则返回整个文件。



具体使用:

1. 什么时候需要这个标签? 可以写成点击某个按钮,才生成标签,不然一开始不想要数据

2. 如何处理返回的数据? 返回的数据格式是实参传参的样式,返回可以使用回调函数

v2-e61b6667baca5e54b248f55b909b590c_b.jpg


3. 回调函数的命名? 在src属性的url中加上定义的文档参数。?cb=cbs(后端处理,前端可以自己取名)
4. 其他参数 wd=关键字,后台找到对应的关键字和回调函数返回。

        <!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Page Title</title>
</head>
<body>
    <button class="btn">获取数据</button>
 <!-- <script src="http://vip.chanke.xyz/git/chanke/demo.php"></script> -->
    <script>
 var oBtn = document.getElementsByClassName('btn')[0];
 oBtn.onclick = function() {
 var oScript = document.createElement('script');
 oScript.src = "https://www.baidu.com/sugrec?pre=1&p=3&ie=utf-8&json=1&prod=pc&from=pc_web&sugsid=1460,21092,29074,29523,29721,29568,29221,26350&wd=qq&req=2&csor=2&pwd=q&cb=cbs"
 document.body.appendChild(oScript);
        }

 function cbs(data) {
 console.log(data);
        }
    </script>
</body>
</html>
      

v2-d4bf7597c02d80cb9144e0519be9c666_b.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值