У меня есть форма, которая отправляется через JavaScript.при отправке формы я вызываю следующую функцию для запуска ajax-запроса в цикле для обновления всех версий, я хочу перенаправить на другой URL-адрес после обновления всех версий.Я пытаюсь использовать метод разрешения обещаний, но не уверен, как его можно использовать с циклом ajax и ajax. Ниже приведен мой код.
<script>
$(document).ready(function(){
$('#frm').submit(function(e){
e.preventDefault();
var fields = $(this).serialize();
var a = $(this);
$.ajax({
type: "POST",
url: "",
data: fields,
success: function(res) {
console.log(res)
count += updateVersion(fields,a);
},
error: function(res) {
console.log(res)
}
});
console.log('count',count);
})
});
</script>
После успеха я вызываю метод updateVersion, в котором яиспользовали AJAX для обновления JSON для нескольких версий.
function updateVersion(fields,e){
var versions = ["v5","v6","v7","v8","v9","v4"];
const promise = new Promise((resolve, reject) => {
$.each(versions, function(key, v) {
$.ajax({
type: "POST",
url: "",
data: e.serialize()+ "&update_json=1&version="+v,
success: function(res) {
console.log(res)
status = 1;
},
error: function(res) {
console.log(res)
}
});
});
resolve(window.location.href= "https://www.example.com");
});
promise.then((successMessage) => {
console.log('Got data! Promise fulfilled.');
}, error => {
console.log('Promise rejected.');
console.log(error.message);
});
}
Любая помощь будет оценена.Спасибо!