zoukankan      html  css  js  c++  java
  • 用jquery的ajax方法获取不到return返回值

    如果jquery中,获取不到ajax返回值。

    两个错误写法会导致这种情况:1.ajax未用同步  2.在ajax方法中直接return返回值。

    下面列举了三种写法,如果想成功获取到返回值,参考第三种写法:

    复制代码
     1 /**
     2  * 方式:(1)同步调用 (2)在ajax函数中return值
     3  * 结果:返回 1。未成功获取返回值
     4  * 失败原因:ajax内部是一个或多个定义的函数,ajax中return返回值,
     5  * 返回到ajax定义函数,而不是返回到ajax外层的函数checkAccount1()
     6  */
     7 function checkAccount1(){
     8     var result = 1;
     9     $.ajax({
    10         url : 'test.do',
    11         type : "post",
    12         data : {},
    13         async : false,
    14         success : function(data) {
    15             return 2;
    16         }
    17     });
    18     return result;
    19 }
    20 
    21 /**
    22  * (1)异步调用 (2)在ajax对全局变量进行设值 (3)ajax函数外将变量return
    23  * 结果:返回 1。未成功获取返回值
    24  * 失败原因:ajax请求和后面的return result语句异步执行,
    25  * 导致return result比result = 2先执行并返回result的值
    26  */
    27 function checkAccount2(){
    28     var result = 1;
    29     $.ajax({
    30         url : 'test.do',
    31         type : "post",
    32         data : {},
    33         async : true,
    34         success : function(data) {
    35             result = 2;
    36         }
    37     });
    38     return result;
    39 }
    40 
    41 /**
    42  * (1)同步调用 (2)且在ajax对全局变量进行设值 (3)ajax函数外将变量return
    43  * 结果:返回 2。成功获取返回值
    44  * 成功原因:先执行result = 2;再往下执行return result;
    45  */
    46 function checkAccount3(){
    47     var result = 1;
    48     $.ajax({
    49         url : 'test.do',
    50         type : "post",
    51         data : {},
    52         async : false,
    53         success : function(data) {
    54             result = 2;
    55         }
    56     });
    57     return result;
    58 }
     
  • 相关阅读:
    wget(转)
    852. Peak Index in a Mountain Array
    617. Merge Two Binary Trees
    814. Binary Tree Pruning
    657. Judge Route Circle
    861. Score After Flipping Matrix
    832. Flipping an Image
    461. Hamming Distance
    654. Maximum Binary Tree
    804. Unique Morse Code Words
  • 原文地址:https://www.cnblogs.com/wangzhuxing/p/8027163.html
Copyright © 2011-2022 走看看