Как использовать AJAX в Sweet Alert - PullRequest
0 голосов
/ 27 сентября 2018

Я хочу, чтобы пользователь подтвердил, хочет ли он обновить свое изображение.Я знаю, что я не могу использовать sql с php внутри javascript, и я пробовал так много способов, но я не мог заставить его работать, никаких ошибок не было, ничего не произошло.Этот код обновляет изображение, даже не нажимая кнопку.У меня нет знаний об AJAX, поэтому это был бы отличный пример моего кода и того, что он означает.

    <script>
function rmv_foto() {
event.preventDefault();
  swal({
    title: 'Remover foto de perfil?',
    text: "Essa ação não poderá ser desfeita.",
    type: 'warning',
    showCancelButton: true,
    confirmButtonColor: '#3085d6',
    cancelButtonColor: '#F54400',
    confirmButtonText: 'Sim, pode remover!'
    }).then((result) => {
      if (result.value) {
        var rmv_foto="<?php
        $delete = "UPDATE esc_usuarios_fotos SET img_local = 'images/user.png' WHERE img_usu_codigo = '" . $_SESSION['codigo'] . "'"; 
        mysqli_query($conexao, $delete) 
        ?>";
        swal(
          'Foto Removida!',
          'Sua foto de perfil foi removida com sucesso.',
          'success'
        ).then(function() {
          location.href = 'perfil.php';
      });
      }
    })
}
</script>

Как правильно использовать ajax для обновления только тогда, когда пользователь подтверждает?

Ответы [ 2 ]

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

С некоторыми хорошими исследованиями, работая как шарм!

    function rmv_foto(){
swal({
     title: 'Remover foto de perfil?',
      showCancelButton: true,
      confirmButtonText: 'Sim, pode remover!',
      cancelButtonText: 'Cancelar',
      text: 'Essa ação não poderá ser desfeita.',
      type: 'warning',
      confirmButtonColor: '#F54400',
      showLoaderOnConfirm: true,
      preConfirm: ()=>{
            $.ajax({
                url: 'rmv.php',
                method: 'POST',
                data:{},
                success: function(resp)
                      {
                        if(resp) return "ok",
                          swal(
                            'Foto Removida!',
                            'Sua foto de perfil foi removida com sucesso.',
                            'success'
                          ).then(function() {
                            location.href = 'perfil.php';
                          });
                      }
            })
          }
    })
};
0 голосов
/ 28 сентября 2018

Попробуйте приведенный ниже фрагмент.Используйте функцию preConfirm и укажите внутренний файл PHP для взаимодействия с базой данных

swal({
     title: 'Remover foto de perfil?',
      showCancelButton: true,
      confirmButtonText: 'Sim, pode remover!',
      showLoaderOnConfirm: true,
      preConfirm: ()=>{
            $.ajax({
                url: 'yourPHPfile.php',
                method: 'POST',
                data:{userID:userVar},
                success: function(resp)
                      {
                        if(resp) return "ok"
                      }
            })

          }

    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
...