同源以及跨域

1.同源策略:是浏览器的一种安全策略,指协议、域名、端口号完全相同。

                 

    端口:例如:QQ使用的是一个端口,酷我音乐使用的是另一个端口

    

2.跨域:从一个服务器a的网站中,发送请求去服务器b的网站中

          浏览器是不允许跨域的,(不安全)

3.跨域获取数据的方法:JSONP

      *:使用src属性不受跨域限制去发送请求

      *:请求方式只能使用get

      eg:

   js代码:

<!-- 
    为了讲解方便 这里写的是相对路径
        自己如若需要测试
        可以找另外一台电脑商量好, php页面跟当前的demo写法一致即可
 -->
    
    <script type="text/javascript">
        function sayHi(data){
            console.log('你好吗');
            console.log(data);
        }
    </script>
    
    <!-- 获取到的结果是 sayHi({"name":"西兰花","age":"1000"}) -->
    <script type="text/javascript" src='06.jsonp.php?callback=sayHi'></script>

php代码:

<?php 

    // 获取到的是 sayHi
     $funcName =  $_GET['callback'];

     echo $funcName.'({"name":"小王","age":"10"})';

 ?>

4.另外的跨域方法:

iframe

window.name(赋值后的结果是字符串)

cors  toggle(这个插件可以跨域)

原文地址:https://www.cnblogs.com/luxiaoxiao/p/6407919.html