zoukankan      html  css  js  c++  java
  • ajax之async属性

    实际项目中,ajax可以说是非常、非常、非常 常用的。而ajax默认是 异步请求

     而有的时候 ajax的异步却不是特别的好用

                //查询当前餐桌类型下有多少个餐桌 
                function tableCount(tableTypeId){
                    var count = 0;
                    $.ajax({
                        data:{
                            restaurantId:'${restaurantId}',
                            businesstimeid:timeId,
                            predetermine:$('#orderdate').datebox('getValue'),
                            currentDate:parent.currentDate,
                            theBsnssTimId:parent.theBsnssTimId,
                            typeId:tableTypeId
                        },
                        url:'${ctx}/cater/caterTable/selectByTimeAndDuetotype',
                        dataType:"JSON",
                        type:"POST",
                        async:false,
                        success:function(result){
                            count = result.length;
                        }
                    });
                    return count;
                }

    调用这个方法时(方法的参数无视)

        var count = tableCount(record.id);
        $('#booksTableCount').html(count+'桌');

    这里我先贴上同步的代码  ,然后我说一下 同步和异步的区别

    async:false  这个属性是同步请求,即在服务器返回值之前不再加载下面的代码,默认值为true(不写的时候为true异步请求)

    当我没有写async:false的时候, 这个方法返回的值为0 因为 方法还没有返回值的时候 下方代码已经加载完 那么count 有个默认值是0 :

    未返回值,下面的方法便开始执行了,所以会显示成0

    当加上async:false的时候,代码不再继续加载,等到服务器返回值之后才继续走,即走了success之后  才继续执行下面的代码  才有返回值

    什么时候返回值,才会继续加载其他代码

  • 相关阅读:
    POJ 1035-Spell checker(字符串)
    No valid host was found
    Does anyone successfully use USB drive in Windows7 guest?
    iptables 问题
    openstack kilo版本控制节点异常流量分析
    openstack 控制节点大流量对外发包,nf_conntrack,table full droping packets
    Error: rpmdb open failed
    openstack message queue
    POJ 1700 经典过河问题(贪心)
    树莓派遥控船项目计划
  • 原文地址:https://www.cnblogs.com/zhaotiancheng/p/7428799.html
Copyright © 2011-2022 走看看