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 }
     
  • 相关阅读:
    可变参数宏
    指针用作传出参数时,需要二级指针
    ubuntu下配置tftp服务以及开发板中通过tftp下载文件
    calloc()函数和malloc()函数
    android 之反编译
    snprintf()函数使用方法
    android 之对话框的使用
    ubuntu su 密码
    android 发短信 调到联系人
    ubuntu 11.10 android ndk awk安装错误修改记
  • 原文地址:https://www.cnblogs.com/wangzhuxing/p/8027163.html
Copyright © 2011-2022 走看看