关于跨域方面的问题

js_Cross_domain

  • Jsonp 与 CORS跨域方式的区别

    • CORS方法更好一些,但是需要对服务器有自主权。JSONP则不需要对服务器有自主权,可以通过script、img等标签可以发送GET请求的特点,通过回调函数执行已有的JS函数。在函数内获取返回值。

    • CORS支持所有HTTP请求,JSONP只支持GET请求。

  • 使用js实现跨域,利用jsonp方式

  • / *   客户端 * /
    <script>
    
       /* 动态生成script标签前优先声明callback回调函数来接受回调数据 */
         function test(data){
            console.log(data);       // {"user":"lee","passwd":"123"}
        }
    
       /* 动态生成script标签引用跨域脚本uri   */
        var script = document.createElment('script);
        script.type = 'text/javascript';
        script.src = 'http://www.test.com/test.php?callback=test';
        document.body.appendChild(script);
    </script>
    
    
    
    /*  跨域请求服务器端脚本  */
    <?php
      $callback = $_GET['callback'];
      $str_data = json_encode(array('user'=>'lee','passwd'=>'123'));
      echo $callback.'('.$str_data.')';       // 将回调数据用自定义的callback函数名和括号包裹起来
    

      

  • php利用header函数配置CORS,利用CORS(Cross-origin resource sharing )方式实现跨域

    <?php
     header("Access-Control-Allow-Origin:*");  // *号为允许所有域名,推荐修改成需要跨域的域名
    CORS方式跨域

     

 

转载于:https://www.cnblogs.com/liwei-17/p/8661190.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值