AJAX 非同步請求

瞌睡先生想睡覺發表於2018-02-26
        /**
         *
         * @param url
         * @param listener 成功回撥方法
         */
        function loadXMLDoc(url, listener) {
            var xmlhttp;
            if (window.XMLHttpRequest) {
                // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執行程式碼
                xmlhttp = new XMLHttpRequest();
            }
            else {
                // IE6, IE5 瀏覽器執行程式碼
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    listener(xmlhttp.responseText);
                }
            }
            //第一個引數是請求型別
            //第二個引數是url
            //第三個引數是是否非同步,類似java,如果是true就是在子執行緒,如果是false就是在主執行緒,
            //  另外當值為false時,不需要重寫onreadystatechange方法,可在send後直接獲取返回內容
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
        }

相關文章