Ajax的同步和异步

时间:2021-07-17 11:38:22

在实际编程过程中,涉及到很多同步和异步的问题,例如:

$("#btnTJ").bind("click", function () {
//第一条语句
$.post("test2.aspx", { Type: "GetJson" }, function (data) {
alert("第一条数据执行完毕!");
});
//第二条语句
alert("第二条语句执行了!");
});

效果为:第二条语句执行了!   ,  第一条语句执行了!

有的人可能认为,将第二条语句写在第一条语句里面不就可以了吗?的确也行,但是在实际操作过程中,有些代码不适合写在第一条语句里面,所以此时此刻我们考虑用同步方式来实现

代码如下:

$("#btnTJ").bind("click", function () {
//第一条语句
$.ajax({
type: "post",
url: "test2.aspx",
data: { Type: "GetDate" },
async: false,//同步
success: function (data) {
alert("第一条语句执行了!");
}
});
//第二条语句
alert("第二条语句执行了!");
});

以上执行结果就是对的了!

同步应用:多级联动菜单的应用,第一级没执行完毕不能加载第二级;尤其在编辑数据时,涉及到多级数据反向展示,这一点同步应用应该要用到