• 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代码

  • 相关阅读:
    Netty指定分隔的字符
    Netty解决TCP粘包/拆包问题
    TCP粘包/拆包问题
    Netty5-应答服务器
    线程池中的线程的排序问题
    Java NIO 概述
    在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字
    OXM
    Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段
    linux 环境 tomcat 莫名奇妙挂掉
  • 原文地址:https://www.cnblogs.com/lbonet/p/7115900.html
Copyright © 2020-2023  润新知