我有一个array
语句,我想循环遍历每个语句并提交给server
via an ajax
称呼。我必须确保每一个ajax
请求在发送下一个请求之前执行,因为server
边代码,我正在创建一个unique key
为了这array
的声明。发生的情况是,在我提交第一个请求之前,第二个请求进来,我最终创建了 2 个单独的密钥,因为它将每个密钥都视为第一次请求。我不能完全依赖超时,到目前为止我的代码继续循环。
function formPostSubmission(form){
var parts = ['a', 'b', 'c'];
var i = 0;
parts.forEach(function(entry) {
i++;
datafield ={
answer:entry,
displayOrder:i,
ajaxName:'statementPartialSubmit'
};
$.when(submitAjaxData(form, datafield)).then(function succesHandler(data){
console.log("promise test "+data);
console.log("Below request ");
},
function errorHandler(){
console.log("Error occurred ");
})
console.log("Go for next ");
});
}
function submitAjaxData(form, datafield) {
console.log(" called submitAjaxData ");
var loadurl = domainName + "/ajax-call-handler";
return $.ajax({
url: loadurl,
method: "GET",
data: datafield
});
}
我希望检查响应数据是否成功,然后在循环内继续。但这就是我的console
prints.
called submitAjaxData
Go for next
called submitAjaxData
Go for next
promise test
Below request
promise test
Below request
使用承诺:
var promises = [];
for (var i = 0; i < $total_files; i++) {
// jQuery returns a prom
promises.push($.ajax({
/* your ajax config*/
}))
}
Promise.all(promises)
.then(responseList => {
console.dir(responseList)
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)