深入理解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>
  • 原文地址:http://blog.51cto.com/12173069/2103577

    时间: 2024-10-31 20:48:06

    深入理解ajax同步和异步的区别的相关文章

    ajax同步与异步的区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除.而异步则这个AJAX代码运行中的时候其他代码一样可以运行. ajax中async这个属性,用于控制请求数据的方式,默认是true,即默认以异步的方式请求数据. 一.async值为true (异步) 当

    JQ Ajax 同步与异步的区别

    $.ajax({ url: xml_addr, type: 'get', dataType: 'xml', timeout: 1000, //设定超时 cache: false, //禁用缓存 async:false,//同步(保证配置取出再执行其他的代码) error: function(xml) { console.log("读取xml出错"); }, success:function(xml) { $(xml).find("server").each(func

    ajax 同步和异步的区别

    举个例子:普通B/S模式(同步)AJAX技术(异步)同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕--------------------------------------------------------------------------------------------------------------------同步就是你叫我去吃饭,我听到了就和你去

    AJAX同步和异步的区别

    function paginationGo(page){ sendata = {"page":page}; $.ajax({ type:"POST", url:"newqc1.asp", async:true, timeout:10000, data:sendata, success:function(data){ //alert(data+"aa"); $("#qc01").html(data); },

    Ajax 是什么?Ajax 的交互模型?同步和异步的区别?如何解决跨域问题

    Ajax 是什么: 1. 通过异步模式,提升了用户体验 2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用 3. Ajax 在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载. Ajax 的最大的特点: 1. Ajax可以实现动态不刷新(局部刷新) 2. readyState 属性 状态 有5个可取值: 0 = 未初始化,1 = 启动, 2 = 发送,3 = 接收,4 = 完成 Ajax 同步和异步的区别: 1. 同步:提交请求 -> 等待服务

    AJAX中同步和异步的区别和使用场景

    在Jquery中ajax方法中async用于控制同步和异步,当async值为true时是异步请求,当async值为fase时是同步请求.ajax中async这个属性,用于控制请求数据的方式,默认是true,即默认以异步的方式请求数据. jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死状态,当这个AJAX执行完毕后才

    jquery的ajax同步和异步的理解及示例

    之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除. 而异步则这个AJAX代码运行中的时候其他代码一样可以运行. jquery的async:false,这个属性 默认是true:异步,false:同步. 复制代码代码如下: $.ajax({ type: "post", 

    同步和异步的区别(转)

    答案一:1.异步传输 通常,异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步.所谓异步传输是指字符与字符(一个字符结束到下一个字符开始)之间的时间间隔是可变的,并不需要严格地限制它们的时间关系.起始位对应于二进制值 0,以低电平表示,占用 1 位宽度.停止位对应于二进制值 1,以高电平表示,占用 1~2 位宽度.一个字符占用 5~8位,具体取决于数据所采用的字符集.例如,电报码字符为 5 位.ASCII码字符为 7 位

    Web请求中同步与异步的区别

    普通的B/S模式就是同步,而AJAX技术就是异步,当然XMLHttpReques有同步的选项. 同步:提交请求->等待服务器处理->处理完毕返回.这个期间客户端浏览器不能干任何事. 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕. 举个生动的例子吧: 同步就是你叫我去吃饭,我听到了就和你去吃饭:如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭. 异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭. 所以,要