@karasique

Как вернуть результат из php скрипта?

На странице вызываю модальное окно sweetalert2 с таким кодом (не могу с ajax разобраться):
<script>

        document.querySelector("#payCash").addEventListener('click', function(){
            swal({
                title:"Принять ?",
                type:"question",
                html:"<font size=3>Сумма: <?echo "<font size=7>{$totalPrice} &#8381;</font></font>";?>",
                showCancelButton: true,
                confirmButtonText: "Готово",
                cancelButtonText: "Назад",
                confirmButtonColor: "#7AC29A",
                focusConfirm: false,
                allowOutsideClick: false,
                preConfirm: function() {
                    return new Promise(function(resolve) {

                        $.ajax({
                            url: '<?echo "{$siteUri}requests/payConfirmation.php";?>',
                            type: 'POST',
                            data: {orderID:"<?=$hash?>",payType:'cash',payConfirmationCode:"<?=$sql['payConfirmationCode']?>"},
                            dataType: 'json'
                        })
                            .done(function(response){
                                swal('Оплачено!', '22222222','success');
                            })
                            .fail(function(){
                                swal({
                                    title: "Ошибка",
                                    html: "<font size=3>Возникла проблема на сервере.<br/>Запрос не обработан.</font> ",
                                    type: 'error',
                                });
                            });
                    });
                },

            });
        });
</script>


В php скрипте я проверяю, все ли параметры есть и их валидность по базе. Как мне из него вернуть ошибки? И написать в модальном окне, какая именно ошибка. И как мне в случае правильной отработки скрипта (и выполнения задуманных действий) вернуть success?
  • Вопрос задан
  • 1333 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
обычно обратно возвращают json в примерно таком виде:
if($someError){
  echo json_encode( array('data' => '', 'error' => 5, 'errortext' => 'something goes wrong!');
  exit;
} 
else {
  echo json_encode( array('data' => 'some useful data', 'error' => 0, 'errortext' => '');
  exit;
}

В js меняем:
.done(function(response){  // я обычно использую не .done а  .success
   if(response.error == 0){
        swal('Оплачено!', '22222222','success');
        return;
   }
   else {
      alert(responce.errortext);
      return;
  }
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы