加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax请求中的async属性

发布时间:2020-12-16 03:27:22 所属栏目:百科 来源:网络整理
导读:async属性 类型:Boolean 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 使用案例 $(document).on("click",".add",function(){

async属性

  • 类型:Boolean
  • 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。

注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

使用案例

$(document).on("click",".add",function(){
    var before_num = Number($("#number").val());
    var after_num = berfore_num + 1;
    $.ajax({
        url: "/add",method: "get",dataType: "json",success: function(result) {
            $("#number").val(after_num);
            conlose.log(result);
        }
    })
});

问题

  • 当连续点击时,会出现number增加的值和你点击次数不相符。

ajax默认是异步的请求。当请求"/add"还未执行完成,就可能已经执行下一次请求,导致before_num不是上一次请求后的值。

解决

  • 将async置为false,用同步请求将浏览器锁住,保证before_num是上一次请求的值。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读