Решение, чтобы исправить ajax, возвращающий как успех, так и ошибку, когда он выполняется php corectly - PullRequest
0 голосов
/ 17 октября 2018

У меня есть следующий код ajax, и он работает нормально.Если я отправляю запрос в первый раз, он работает нормально.Если я отправлю второй раз, он вернет успех и ошибку (по 1).

$('#eproductForm').on('submit', function (e) {
            e.preventDefault();
              $.ajax({
                type: 'post',
                url: $('#eproductForm').attr('action'),
                data: $('#eproductForm').serialize(),
                cache: false,
                async: false,
                dataType: 'json',
                success: function (response) {
                    $('#eproductModal').modal('hide');
                    $('#eproductForm')[0].reset();
                    save_success();
                    stockList();
                },
                error: function(response){
                    something_wrong();
                }
              });
              return false;
            });

У вас есть решение, пожалуйста?доля.Спасибо

1 Ответ

0 голосов
/ 18 октября 2018

Почему вы возвращаете ложь в конце !?Я надеюсь

                 save_success();
                stockList();

, что эти две функции перенесут вас в другое место, дело в том, что когда вы возвращаете false, возможно, отправка не работает правильно, поэтому ошибка сводится к ошибке.Попробуйте вернуть true в случае успеха / false в случае ошибки, возможно, это все исправит.Если это не работает, попробуйте сделать запрос Ajax обещанием, как в

return new Promise ((resolve, reject) => {               
          $.ajax({
            type: 'post',
            url: $('#eproductForm').attr('action'),
            data: $('#eproductForm').serialize(),
            cache: false,
            async: false,
            dataType: 'json',
            success: function (response) {
               resolve(response)
            },
            error: function(response){
                reject(err)
            }
          }); 
}).then((response) => {                    
               $('#eproductModal').modal('hide');
                $('#eproductForm')[0].reset();
                save_success();
                stockList();}).catch((err) => {something_wrong();})

, это поможет вам понять, как запрос проходит через вашу функцию.Кроме того, это помогает проверить ваши запросы в инструментах разработчика Chrome и посмотреть, какой статус возвращается, поэтому вы можете определить, в какой момент происходит сбой

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