zoukankan      html  css  js  c++  java
  • 2013527 ajax技术的总结(1)

    Ajax的方法是异步的,有时候会出现ajax还没返回数据就执行其他函数的情况,这样会出现很多莫名奇妙的问题,以下举出两个例子,一个是错误的,一个是正确的。

    第一个是错误的:

    Code =’’;
    $.post(checkUrl, function(data){ code = data; });
     Alert(code);

    第二个是正确的:

    //-----------------------------ajax异步验证!!!!!!!!!!!!!!!!---------------------------(核心)
    Code = ‘’;
    function yibu()//ajax是异步的,异步这个概念要好好理解,ajax相对于其他执行来说是异步的,也就是说不会按照一般的从文件开头顺序执行到结尾的,会另外开多一个进程,故会有----延迟---!
    {
        Alert(code);    
    }
            
    $.post(checkUrl, function(data){ code = data; yibu();});//异步执行

    错误原因的分析:

    例子中的错误主要是没有理解到ajax的异步概念,以为还是会按照程序的结构一步一步的执行下来。

    其实,真正的执行顺序并不是这样的,真正的执行顺序是当执行到$.post()函数时会向后台发送请求,发送完毕后立刻执行下面的alert(code)函数,并不会等待后台的数据到来后才去执行。而例子二是要等待后台数据返回才会去执行alert(code)函数的。所以第一个例子弹出的警告框是空的,第二个例子弹出的警告框是返回的后台数据。

      因此,以后要特别注意ajax的异步性!

  • 相关阅读:
    JAVA企业级开发-BOM&DOM(03)
    JAVA企业级开发-JavaScript(02)
    JAVA基础--IO输入输出(File使用)17
    day03-CSS(1)
    day02-HTML(2)
    day01-HTML(1)
    apache2.4 只允许合法域名访问网站 禁止使用ip、非法域名访问
    电子书格式转换
    推荐几本学习MySQL的好书
    Linux上vi(vim)编辑器使用教程
  • 原文地址:https://www.cnblogs.com/starwolf/p/3102808.html
Copyright © 2011-2022 走看看