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