Jquery 同步請求和異步請求(執行順序)


function show(NoticeId) {
            $.post('NoticeShow.aspx?operate=GetDetail' + '&NoticeId=' + NoticeId + '&id=' + Math.random(), function (notice) {//第一
                if (notice != null) {//得到返回的json,並賦值
                    $("#txtNoticeTitle").val(notice.NoticeTitle);
                    $("#txtNoticeContent").val(notice.NoticeContent);
                    $("#lblNoticeType").html(notice.NoticeType);
                    $("#txtRemark").val(notice.Remark);
                }
            }, 'json');
            $('#show').window("open");//第二
            $('#show').show();//第三
        }

 


這樣的請求是異步的,順序是結果是:第二,第三執行完成后,第一返回結果。但我就是想讓他先返回結果,然后執行第二、第三。

$.post和$.get 我沒有找到怎么設置同步,但$.ajax可以

        function show(NoticeId) {
            $.ajax({
                type: "POST",
                url: 'NoticeShow.aspx?operate=GetDetail' + '&NoticeId=' + NoticeId + '&id=' + Math.random(),
                async: false, //設為false就是同步請求
                cache: false,
                success: function (notice) {
                            if (notice != null) {//得到返回的json,並賦值
                                $("#txtNoticeTitle").val(notice.NoticeTitle);
                                $("#txtNoticeContent").val(notice.NoticeContent);
                                $("#lblNoticeType").html(notice.NoticeType);
                                $("#txtRemark").val(notice.Remark);
                            }
                }
            });
            $('#show').window("open");
            $('#show').show();
        }

執行順序是同步的:請求返回結果,然后才執行下面。(ps:貌似這樣容易卡死)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM