我需要一个脚本按顺序触发ajax请求。我正在我们的系统中构建用户配置文件。每个ajax函数都构建了配置文件的一部分。完成配置文件的每个部分后,客户端将获得响应,导致脚本移至下一部分。我的目标是在每个部分构建时显示进度。类似的东西:
建立用户.......完成。
建立电子邮件.....
等等。
我的问题是ajax会立刻触发,虽然预期不会按需要连续播放。由于已知的警告,我不想使用asych:false
。我已经阅读过关于将下一个ajax调用放在上一个成功中的内容。我试图避免这种情况,因为我将要做大约15-20次电话。该页面难以阅读。我正在尝试阵列方法,因为它似乎是最干净的。
$(function(){
//array of functions
var myArray = {'buildUser':'Building User','buildEmail':'Building Email'};
$('#result').html("");
//loop through array
$.each(myArray, function(key, value) {
//build "working" line
$('#result').append("<div id="+key+">"+value+".....</div>");
//send request to script
$.ajax({
type: "POST",
url: "modules/userAdd/"+key+".php",
data: "data="+data,
success: function(result) {
//replace "working" with "done"
$('#'+key).html(value+".....Done");
}
})
});
});