ajax之async属性

原文链接:https://www.cnblogs.com/zhaotiancheng/p/7428799.html

实际项目中,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之后  才继续执行下面的代码  才有返回值

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

原文地址:https://www.cnblogs.com/ncwoniu/p/11539885.html

时间: 2024-10-16 07:25:00

ajax之async属性的相关文章

ajax的async属性(控制同步和异步)

ajax中async属性用于控制同步和异步. true(异步请求,默认).意思是AJAX代码运行中的时候其他代码一样可以运行. flase(同步).意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面会出现假死状态,当AJAX执行完毕后才会继续运行其他代码,解除页面假死状态. $('input[type=button]').click(function(){ $.ajax({ url:'/test', type:'get', data:data, async:true, s

jquery ajax的async属性的理解

1 $(function(){ 2 queryTemplateSort(); 3 // 4 fillAddTemplatePage(); 5 function queryTemplateSort() { 6 $.ajax({ 7 type: "post", 8 url: "http://localhost:8080/...", 9 data: {"pageNo": 1, "pageSize": 20}, 10 dataType

ajax中的async属性值之同步和异步及同步和异步区别

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

ajax 异步调用把返回值赋给一个全局变量的用法,最主要的就是把async属性改为 false,

<script> $(document).ready(function () { <% string dqsj = System.DateTime.Now.ToString("yyyy-MM-dd"); %> seach(); }); var shuju = ""; var sj = ""; function se() { seach(); } function seach() { $(function () { var

JQuery中$.ajax()方法参数详解 及 async属性说明

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

javascript中的defer属性和async属性

在html中,script标签有6个属性,其中defer和async属性比较难理解,废话少说一张图说明一切: 我们引入js代码的时候这样写: <script type="text/javascript" defer="defer" async="true/false" src="js文档地址"></script> defer和async的比较 相同点: 加载文件时不阻塞页面渲染: 对于inline的sc

script标签中defer和async属性的区别

script标签存在两个属性,defer和async,因此script标签的使用分为三种情况: 1.<script src="example.js"></script> 没有defer或async属性,浏览器会立即加载并执行相应的脚本.也就是说在渲染script标签之后的文档之前,不等待后续加载的文档元素,读到就开始加载和执行,此举会阻塞后续文档的加载: 2.<script async src="example.js"></

使用async属性异步加载执行JavaScript

HTML5让我兴奋的一个最大的原因是,它里面实现的新功能和新特征都是我们长久以来一直期待的.比如,我以前一直在使用placeholders,但以前必须要用JavaScript实现.而HTML5里给JavaScript标记提供的async属性,使JavaScript能异步加载执行.之前我需要各种的JavaScript插件来实现这种功能,但现在这个新属性能让我们轻松的实现异步加载. async – HTML代码 真的非常简单,就像下面这样: <script async src="siteScr

html script的async属性

一般网页加载的script标签时,没有带async属性,浏览器渲染时会从上至下依次进行,当某一个script解析缓慢会影响后续的网页的渲染,在html5中,带上async标签的script脚本可以在浏览器渲染页面时实行异步加载,会执行先下载js文件同时网页继续渲染.当js文件下载完毕后,在window.onload之前就会立即执行.所以当此js会影响到页面dom结构时,需要window.onload加载一次方法 <script src="js/bootstrap.min.js"