• <转>ajax 同步异步问题


    原文:https://blog.csdn.net/wxr15732623310/article/details/76387787 

    看似简单明白的问题说起来却迷迷糊糊,完全没有逻辑,说不到重点上,再来整理思路,去真正搞明白。


    $.ajax({
    type: "post",

    url: "path",

    cache:false,

    async:false,

    dataType: ($.browser.msie) ? "text" : "xml",

    success: function(xmlobj){
    }
    });
       很熟悉的一段代码,异步和同步体现在哪里?他们有什么区别?


    jquery的async属性:默认情况下是true,表示异步,如果是false,表示同步。

    同步:当JS代码加载到当前ajax的时候会把页面里所有的代码停止加载,页面出现假死状态,当这个ajax执行完毕后才会继续运行其他代码,页面假死状态消失。

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


    $.ajax({
    type:"POST",
    url:"Venue.aspx?act=init",
    dataType:"html",
    success:function(result){ //function1()
    f1();
    f2();
    }
    failure:function (result) {
    alert('Failed');
    },
    }
    function2();

                ajax发出请求后,停留在function1等待server返回,同时前台会执行function2(),这个时候出现两个线程。
       当async为false时,ajax请求就是同步的,ajax发送请求后,会等待function1,不会执行下面内容,直到function1执行完毕。
    ---------------------



  • 相关阅读:
    memcached连接说明
    在win下启动memcached
    Memcached 查看帮助
    HTTP请求信息和响应信息的格式
    购买服务器配置带宽算法
    PHP删除数组指定下标的值
    tp5 验证器使用
    tp5 验证码功能实现
    layui 关闭当前窗口,刷新父级页面
    layui icon样式1到7
  • 原文地址:https://www.cnblogs.com/zhangxiaoxia/p/9811033.html
Copyright © 2020-2023  润新知