zoukankan      html  css  js  c++  java
  • 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(function(i) {     //查找所有student节点并遍历  
    	                var index = $(this).children("index");          //获得子节点  
    	                var child = $(this).children("child");  //获取节点的属性  
    	                server_josn={"index":index.text(),"child":child.text()};
    	            });  
    	        }//设置成功后回调函数  
    

      

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

    ajax中async这个属性,用于控制请求数据的方式,默认是true,即默认以异步的方式请求数据。

    一、async值为true (异步)

    当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)

    二、async值为false (同步)

    当执行当前AJAX的时候会停止执行后面的JS代码,直到AJAX执行完毕后时,才能继续执行后面的JS代码

  • 相关阅读:
    hdu 2647 Reward
    hdu 2094 产生冠军
    hdu 3342 Legal or Not
    hdu 1285 确定比赛名次
    hdu 3006 The Number of set
    hdu 1429 胜利大逃亡(续)
    UVA 146 ID Codes
    UVA 131 The Psychic Poker Player
    洛谷 P2491消防 解题报告
    洛谷 P2587 [ZJOI2008]泡泡堂 解题报告
  • 原文地址:https://www.cnblogs.com/lbonet/p/7115900.html
Copyright © 2011-2022 走看看