加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

深入理解ajax同步和异步的区别

发布时间:2020-12-16 03:04:56 所属栏目:百科 来源:网络整理
导读:说明: 同步可以改变外部定义的变量值,异步可以提高加载效率 示例: a. 说明: b. 原代码: scriptvar a = 0function loadDoc(file,async=true){if(window.XMLHttpRequest){ // code for IE7+,Firefox,Chrome,Opera,Safari xmlhttp=new XMLHttpRequest();}e
  • 说明:
    同步可以改变外部定义的变量值,异步可以提高加载效率
  • 示例:
    a. 说明:


    b. 原代码:
    <script>
    var a = 0
    function loadDoc(file,async=true){
    if(window.XMLHttpRequest){  // code for IE7+,Firefox,Chrome,Opera,Safari
        xmlhttp=new XMLHttpRequest();
    }else{  // code for IE6,IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(async === true){
        xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState < 4){
                // 加载中
            }else if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
                // 成功
                xmlDoc=xmlhttp.responseText;
                a = 1
                return xmlDoc
            }else{
                // 失败
                xmlhttp.abort()
                return
            }
        }
    }
    xmlhttp.open("GET",file,async);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send();
    if(async === false){
        xmlDoc=xmlhttp.responseText;
        a = 1
        return xmlDoc
    }
    }
    var ret = loadDoc(‘http://localhost/test.php‘,true)
    console.log(a)
    var ret = loadDoc(‘http://localhost/test.php‘,false)
    console.log(a)
    </script>
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读