Archosaur
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:貌似这样容易卡死)

分类:

技术点:

相关文章: