利用原生js实现ajax跨域请求数据

首先,页面中不需要引入任何的文件。

1、前台html页面

<script>
    //定义一个ajax
    var $ = {
      ajax:function(option){
        var url = option.url;
        var callback = option.callback;
        var dataType = option.dataType;
        //判断数据类型是不是jsonp格式,如果是的话,就动态创建一对script标签。
        if(dataType == "jsonp"){
          var script = document.createElement("script");
          script.src=url+"?callback="+callback;
          document.body.appendChild(script);
        }
      }
    };
    //调用ajax
    $.ajax({
      type:"get",
      url:"http://demo.com/demo1.php",
      callback:"test",
      dataType:"jsonp"
    });
  </script>
  <script>
    function test(data){
      console.log(data);
    }
  </script>

 2、后台页面

<?php
    $callback = $_GET["callback"];
    //读取demo2.json文件中的数据
    $data = file_get_contents("demo2.json");
    // 返回的数据最终只能是字符串
    echo $callback.'('.$data.')';
?>

猜你喜欢

转载自blog.csdn.net/Redase/article/details/83547632