Перенаправить на другую страницу в javascript после выполнения обещания? - PullRequest
0 голосов
/ 28 июня 2019

У меня есть форма, которая отправляется через 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);
    });
}

Любая помощь будет оценена.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...