zoukankan      html  css  js  c++  java
  • 关于跨域方面的问题

    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方式跨域

     

  • 相关阅读:
    Python--关于dict
    数据结构之线性表的实现
    js数据类型检测小结
    javascript的执行机制—Event Loop
    深入理解理解 JavaScript 的 async/await
    操作系统管理CPU的直观想法
    入门Promise的正确姿势
    javascript的数据类型转换
    JS预编译详解
    如何去封装一个Ajax库
  • 原文地址:https://www.cnblogs.com/liwei-17/p/8661190.html
Copyright © 2011-2022 走看看