在使用jquery调用Ajax函数时,往往会出现嵌套现象,这样代码写起来很混乱,比如以下情况:
$.ajax({
url: "/home/GetProduct",
dataType: "JSON",
type: "GET",
success: function (data) {
$.ajax({
url: "/home/GetProduct",
dataType: "JSON",
type: "GET",
success: function (data) {
$.ajax({
url: "/home/GetProduct",
dataType: "JSON",
type: "GET",
success: function (data) {
}
}
}
非常难以看清逻辑,它的功能是外层代码执行完毕后在执行内部代码.
如果使用$.when,$.done后,看起来就非常简洁了
$.when($.ajax({
url: "/home/GetProduct",
dataType: "JSON",
type: "GET",
success: function (data) {
alert(JSON.stringify(data));
}
})).done(function (data) {
alert(data[0].Name);
}).done(function (data) {
alert(data[1].Name);
}).fail(function () {
alert("程序出现错误!");
}).then(function (data) {
alert("程序执行完成");
});
以后我们在进行前端开发时,应该多使用这种顺序的,平行的代码段,而少用嵌套的代码段
原文:http://www.cnblogs.com/lori/p/5511846.html