zoukankan      html  css  js  c++  java
  • Ajax请求中的async:false/true的作用[转]

    test.html

    <a href="javascript:void(0)" onmouseover="testAsync()">

    asy.js

    function testAsync(){
        var temp;
        $.ajax({
            async: false,
            type : "GET",
            url : 'tet.php',
            complete: function(msg){
                alert('complete');
            },
            success : function(data) {
                alert('success');
                temp=data;
            }
        });
        alert(temp+'   end');
    }

    tet.php

    <?php

        echo "here is html code";
        sleep(5);

    ?>

    async: false,(默认是true);
    如上:false为同步,这个 testAsync()方法中的Ajax请求将整个浏览器锁死,
    只有tet.php执行结束后,才可以执行其它操作。

    当async: true 时,ajax请求是异步的。但是其中有个问题:testAsync()中的ajax请求和其后面的操作是异步执行的,那么当tet.php还未执行完,就可能已经执行了 ajax请求后面的操作,
    如: alert(temp+'   end');
    然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。

  • 相关阅读:
    Node.js 函数
    Node.js模块系统
    在Apache服务器上安装SSL证书
    Node.js Stream(流)--文件操作
    HTML5自带验证美化
    HTML5约束验证API
    Node.js Buffer(缓冲区)
    Python 练习:简单的购物车(二)
    Python 练习:简单的购物车
    Python 列表操作
  • 原文地址:https://www.cnblogs.com/mmzuo-798/p/6366994.html
Copyright © 2011-2022 走看看