`

jquery 如何让ajax函数成功返回后,再继续执行

阅读更多

一开始想让AJAX执行成功后,根据返回值,再判断往下执行的逻辑。
后来发现,jquery的ajax成功返回的值,不能通过return(像子函数返回值)把值传回上一级的函数。
于是只能把值,异步传到页面上(如隐藏域的值)。

于是通过获取隐藏域的值,再判断往下执行的逻辑。因此就:必须让ajax函数成功返回后,再继续执行

上一级函数的未完成的部分。

async: false 就是在AJAX未返回时,用来暂停程序往下执行的。

附实例如下:

    ajaxCertificateAdd($("#Recipient").val(), "#CertificateInputId", "#CertificateSpanId");

    if($("#CertificateInputId").val().length > 0){

     alert('检测成功');

   }

    function ajaxCertificateAdd(Recipient, CertificateInputId, CertificateSpanId) {
        $.ajax({
            type: "get",
            async: false,
            dataType: "json",
            url: QUERY_TOOLS_TOOLSMANAGEMENT,
            data: {
                "type": 'checkCertificate',
                "recipient": Recipient
            },
            success: function(response) {
                if (response.success) {
                    //console.log(response.data);
                    if (response.data.length > 0) {
                        $(CertificateInputId).val(response.data);
                        $(CertificateSpanId).html(response.data + "  检验通过");
                    } else {
                        $(CertificateInputId).val("");
                        $(CertificateSpanId).html("&nbsp;&nbsp;<font color=green>检验未通过<font>");
                    }
                } else {
                    alert(response.message);
                }
            },
            error: function() {
                alertError();
            }
        });
    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics