• AjAX 异步通信


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <title>xmlhttprequest ajax demo</title>
        <script type ="text/javascript" language ="javascript" >
            var req; //定义变量,用来创建xmlhttprequest对象
            function creatReq() // 创建xmlhttprequest,ajax开始
            {
                var url="./test4.json"; //要请求的服务端地址
                if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
                {
                    req=new XMLHttpRequest();
                }
                else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
                {
                    req=new ActiveXObject("Microsoft.XMLHttp");
                }
    
                if(req) //成功创建xmlhttprequest
                {
                    req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
                    req.onreadystatechange = callback; //指定回调函数
                    req.send(null); //发送请求
                }
            }
    
            function callback() //回调函数,对服务端的响应处理,监视response状态
            {
                console.log(req);
                if(req.readyState==4) //请求状态为4表示成功
                {
                    if(req.status==200) //http状态200表示OK
                    {
                        Dispaly(); //所有状态成功,执行此函数,显示数据
                    }
                    else //http返回状态失败
                    {
                        alert("服务端返回状态" + req.statusText);
                    }
                }
                else //请求状态还没有成功,页面等待
                {
                    document .getElementById ("myTime").innerHTML ="数据加载中";
                }
            }
    
            function Dispaly() //接受服务端返回的数据,对其进行显示
            {
                document .getElementById ("myTime").innerHTML =(req.responseText);
            }
    
        </script>
    </head>
    <body>
    <div id="myTime"></div>
    
    <input id="Button1" type="button" value="Get Time"  onclick ="creatReq();"/>
    </body>
    </html>

    注意事项:

    1首先创建XMLHttpRequest对象。为了兼容IE6浏览器。

    if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
                {
                    req=new XMLHttpRequest();
                }
                else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
                {
                    req=new ActiveXObject("Microsoft.XMLHttp");
                }

    2.创建好了对象后,发送之前,还需要设置一下请求信息,即open('GET',url,false)这三个参数,第一个参数表示的是请求方法,第二个参数表示是请求的网址,第三个参数是一个boolean值,true表示异步操作,false表示的是同步操作。
    3.设置好了请求信息后,就可以发送了,即send(null),对于get请求方式,不需要发送附加信息,所以可以设置null。
    4. req.onreadystatechange = callback; //指定回调函数
    这个是监听后台状态,然后做出相应的响应。
  • 相关阅读:
    Django 2.1 配sql server 2008R2
    1.内网安全代理技术
    3.frp搭建socks5代理
    2.变量常量和注释
    1.域环境&工作组&局域网探针方案
    4.nps搭建socks5代理
    1.php介绍和安装
    2.内网安全隧道技术
    3.横向smb&wmi明文或hash传递
    5.域横向CobaltStrike&SPN&RDP
  • 原文地址:https://www.cnblogs.com/yuaima/p/5842007.html
Copyright © 2020-2023  润新知