码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-04-15 13:32:55      阅读:187      评论:0      收藏:0      [点我收藏+]

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

  • 说明:
    同步可以改变外部定义的变量值,异步可以提高加载效率
  • 示例:
    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>
  • 深入理解ajax同步和异步的区别

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

    原文地址:http://blog.51cto.com/12173069/2103577

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!