zoukankan      html  css  js  c++  java
  • 原生JavaScript实现跨域

    为什么需要跨域呢?这是因为我们一般的请求都是使用xhr的,但是它只能调用同一个域里面的接口,有时候,我们想要在自己的站点中调用其他站点的接口,这时候就要用到跨域了。其实,跨域并不难,我们可以通过JavaScript的动态脚本加载技术来实现。需要注意的是,跨域是需要后台配合的。我们需要约定了一个函数(函数名以参数的形式传到后台),前台使用这个函数进行解析后台返回的数据,而后台需要把返回给前台的数据放到这个函数的参数位置进行调用。下面我们来看一下具体的实现代码:
    后台代码如下,为了方便测试, 我已经把它部署到了服务器上了,地址是http://zhangzhanyu.nfreehost.com/jsonp.php
     <?php
       $callback = $_GET['callback' ];
       echo "{$callback}({'msg':'this is a jquery jsonp test message!'})";
     ?>
     
    前端代码:
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>使用JavaScript实现跨域请求</title>
      <script type="text/javascript"> 
        var scriptElement = document.createElement("script");
        scriptElement.src = "http://zhangzhanyu.nfreehost.com/jsonp.php?callback=callback";
        document.head.appendChild(scriptElement);
     
        function callback(jsonString) {
          //var data = JSON.parse(jsonString);
          alert(jsonString.msg);
        }
      </script>
    </head>
    <body>
    </body>
    </html>

     

  • 相关阅读:
    树链剖分 关于点权与边权的转换
    2018 CCPC 吉林站 H Lovers || HDU 6562 (线段树哦)
    统计学习方法(一)概念
    python学习心得(三)
    python学习心得
    Python学习:基本概念
    Python学习(一)
    SparkMLlib聚类学习之KMeans聚类
    SparkMLlib回归算法之决策树
    SparkMLlib学习之线性回归
  • 原文地址:https://www.cnblogs.com/yugege/p/5167864.html
Copyright © 2011-2022 走看看