Ajax的同步和异步
在实际编程过程中,涉及到很多同步和异步的问题,例如:
$("#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("第二条语句执行了!"); });
以上执行结果就是对的了!
同步应用:多级联动菜单的应用,第一级没执行完毕不能加载第二级;尤其在编辑数据时,涉及到多级数据反向展示,这一点同步应用应该要用到