关于ajax的异步请求时的顺序问题!!!
    $('#fmCart').submit(function() {
    //判断支付方式 是否是:储值卡支付
         var checked= $("#pCard").attr("checked");
         if(!checked){
             return true;
         }

       var deliverId = $("input[name='deliver.id']:checked").val();
       var isTrue = false;
       $.post("${createLink(action: "cpCardMoney")}",
                        {deliverId:deliverId},
                        function(json){
                            if(json.success){
                              isTrue=true;
                            }else {
                              alert(json.message);
                            }

                        },
                    'json');

    return isTrue;

});
isTrue的值一直赋不上..知道原因可能是:由于在ajax请求的同时程序已经运行至return isTrue然而ajax还没有执行完...那怎么才能让他们按顺序执行呢..

5个回答

[quote]
那要是用同步了..那我异步还有什么意义啊..
[/quote]
看你场景了,并不是说一定要用异步才好。另外,要异步也可以啊,你把得到“isTrue”后续的业务都封装到这个异步操作的回调函数中就可以了。

不用异步请求,用同步试试。

用$.ajax这个,里面可以设置async:false,这样就是同步调用,就能获得返回值了

楼上的说法我认为是可行,同步调用应该就没问题了

ajax同步调用就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问