您的位置:首页 > Web前端 > JQuery

Jquery 同步请求和异步请求(执行顺序)

2013-02-27 10:52 597 查看
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:貌似这样容易卡死)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: