1.原生ajax

  1. <p id="name"></p>
  2. <script>
  3. /* ajax 从服务器上获取数据的一种技术 是异步的
  4. 1.创建ajax核心对象
  5. 2.与服务器建立连接
  6. 3.发送请求
  7. 4.响应
  8. */
  9. /* JSON.parse() json格式的字符串转换为json对象 */
  10. var url="https://www.easy-mock.com/mock/5d67436224fd60626abfe906/ajax/base";
  11. var xhr=new XMLHttpRequest();
  12. xhr.open('get',url,true) //true 异步
  13. xhr.send()
  14. xhr.onreadystatechange=function(){
  15. /* console.log(xhr.readyState)
  16. console.log(xhr.status) */
  17. if(xhr.readyState==4 && xhr.status==200){
  18. var res=JSON.parse(xhr.responseText);
  19. console.log(res.data.name)
  20. var name=document.getElementById("name")
  21. name.innerHTML=res.data.name;
  22. }
  23. }
  24. </script>

2.jquery-ajax

 <style>
        body{
             background: pink; 
        }
        #loading{
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            background: #fff1ce;
        }
    </style>
<div id="loading">
        <img src="images/giphy.gif" alt="">     
    </div>
    加载成功
<script>
        var url="https://www.easy-mock.com/mock/5d67436224fd60626abfe906/ajax/base"
        /* ajax传参
        1.请求的地址
        2.请求的方式 get,post
        */
        $.ajax({
            url:url,
            type:"get",
            dataType:"json",
            success:function(res){
                console.log(res)
                $("#loading").hide()
            },
            error:function(err){
                console.log(err)
            },
            beforeSend:function(){
                $("#loading").show()
            }     
        })
        </script>

3本地封装的Ajax

<script>
            function http({url,callback,type="get"}){
                $.ajax({
                    url,
                    type,
                    dataType:"json",
                    success:res=>{
                        callback(res)
                    }
                })
            }

            var url="http://localhost:8080/"
            http(url,handleDta);
            console.log(res)
            function handleData(res){
                for(var key in res){
                    var p =document.createElement("p");
                    p.innerHTML=res[key];
                    document.body.append(p)
                }
            }
    </script>

4.原生的js实现

<script>
        /* 
        客户端跨域 
        1.jsonp跨域
        2.script  因为script标签不受同源策略的限制
        */
        var url="http://douban.uieee.com/v2/movie/top250";
        // $.ajax({
        //     url,
        //     type:"get",
        //     dataType:"jsonp",   //更改数据类型
        //     success:res=>{
        //         console.log(res)
        //     }
        // })
        var script =document.createElement("script");
        script.src=url+"?callback=handleData";
        document.body.append(script);
        function handleData(res){
            console.log(res)
        }