05.Ajax.get

<script>
        // 问题1:所有浏览器都支持Ajax 除了IE5  IE6  如果让所有浏览器都支持就加上以下代码 13 - 18行
        window.addEventListener('load', function() {
            var btn = document.querySelector('button');
            btn.onclick = function() {
                var xml;
                if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                    xml = new XMLHttpRequest();
                } else { // code for IE6, IE5
                    xml = new ActiveXObject("Microsoft.XMLHTTP");
                }
                // 问题2:在IE中 如果通过Ajax发送的GET请求,
                // 那么IE浏览器认为同一个URL只有一个结果 后面在这个URL更改值 IE不会更新
                // 解决这个问题 需要每次给文件地址改一下 就能拿到最新的值
                // 可以在文件地址后面 +(new Date().getTime()) 如 25行

                // var xml = new XMLHttpRequest();
                xml.open('GET', '05.Ajax.get.txt?t=' + (new Date().getTime()), true);
                xml.send();
                xml.onreadystatechange = function() {
                    if (xml.readyState === 4) {
                        if (xml.status >= 200 && xml.status < 300 ||
                            xml.status === 304) {
                            //alert('ready go');
                            // 想获得后端服务器的响应,使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性
                            //responseText    获得字符串形式的响应数据。
                            //responseXML    获得 XML 形式的响应数据。
                            alert(xml.responseText); // 得到04.Ajax.get.php后端写的内容
                        } else {
                            alert('error');
                        }
                    }
                }
            }
        })
    </script>
</head>

<body>
    <button>发送请求</button>
</body>

 

posted @ 2021-01-12 14:46  闭上耳朵  阅读(49)  评论(0编辑  收藏  举报