JavaScript - Redireccionar a página si se cumple condición con Ajax y SweetAlert2

 
Vista:
Imágen de perfil de Fran
Val: 22
Ha disminuido su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Fran (10 intervenciones) el 18/02/2020 16:08:50
Hola.. Estoy buscando ayuda por favor. Resulta que estoy desarrollando una pagina web, en la cual las personas pagan y adquieren membresías para clases de yoga. A través de Ajax realizo una consulta a la base de datos para saber si el usuario ya compro dicha membresía. Al dar click al botón de pagar, este lo redirige a la página del checkout. Pero mi intención es que si el usuario ya adquirió dicha membresía, salte una alerta que diga que ya pago por ella. De lo contrario, que lo redirija a la pagina del perfil checkout.

Hasta ahora no puedo hacer que la condición if haga su trabajo. Si alguien me puede echar una manita, por favor Soy casi nula para JavaScript.

También he probado la respuesta con console.log y recibo bien la respuesta. Sino hay respuesta, llega false.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
event.preventDefault();
 
var datos = new FormData();
 
datos.append("idUsuario", idUsuario);
datos.append("idClase", idClase);
 
    Swal.fire({
            icon: 'success',
            title: '¡ agregaras un nuevo servicio en tu perfil !',
            showCancelButton: true,
            cancelButtonColor: '#f9a253',
            confirmButtonColor: '#089eb0',
            cancelButtonText: '¡no gracias!',
            confirmButtonText: '¡Ir a mi perfil!'
        }).then((result) => {
        if (result.value) {
 
            $.ajax({
 
                url:rutaOculta+"ajax/carrito.ajax.php",
                method:"POST",
                data: datos,
                cache: false,
                contentType: false,
                processData:false,
 
                success: function(respuesta){
 
 
                    if(respuesta != false){
 
                        Swal.fire({
                            icon: "warning",
                            title: "¡Ya esta inscrito en esta clase!",
                            text: "",
                            showConfirmButton: true,
 
                          });
 
                    }else{
 
                        window.location = rutaOculta+"perfil";
 
                    }
 
                }
 
            });
        }
    });

Esteré atenta ya que me aflige no poder solucionar esto y no se como implementarlo de mejor manera. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fran
Val: 22
Ha disminuido su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Fran (10 intervenciones) el 18/02/2020 18:45:16
AYUDA PLISSS!!!!!!! :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 57
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por miguelZarate (18 intervenciones) el 18/02/2020 18:51:15
existen dos maneras en javascript para redireccionar la pagina

window.location.href = "http://www.tupagina.com";

// Simulate an HTTP redirect:
window.location.replace("http://www.tupagina.com");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de Fran
Val: 22
Ha disminuido su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Fran (10 intervenciones) el 18/02/2020 18:58:35
Qué ?? es el proceso de la condición If que no esta tomando.. no de como se redirecciona una página.. :/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Luis (3 intervenciones) el 18/02/2020 22:46:10
Yo de javascript estoy nulo, pero te doy una idea, por si no llegaras a solucionarlo, a unas malas si tienes posibilidad de usar php en tu javascript yo haría algo así:

Suponiendo que el usuario esta identificado seria comprobar los datos en la base de datos y meterle al javascript condicionales php

Algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
$db = new mysqli("host", "username", "password", "database");
 
if ($db->connect_error) {
    die("Unable to connect database: " . $db->connect_error);
}
 
session_start();
//suponiendo que los clientes se identifican con un email a traves de sesiones obtenemos el email del
//cliente para comprobar en la base de datos si ha pagado
$email=$_SESSION['email'];
?>
 
<script>event.preventDefault();
 
var datos = new FormData();
 
datos.append("idUsuario", idUsuario);
datos.append("idClase", idClase);
 
    Swal.fire({
            icon: 'success',
            title: '¡ agregaras un nuevo servicio en tu perfil !',
            showCancelButton: true,
            cancelButtonColor: '#f9a253',
            confirmButtonColor: '#089eb0',
            cancelButtonText: '¡no gracias!',
            confirmButtonText: '¡Ir a mi perfil!'
        }).then((result) => {
        if (result.value) {
 
            $.ajax({
 
                url:rutaOculta+"ajax/carrito.ajax.php",
                method:"POST",
                data: datos,
                cache: false,
                contentType: false,
                processData:false,
 
                success: function(respuesta){
 
<?
 
//Suponiendo que los datos del cliente los tienes almacenados en la tabla "clientes" y en la
//columna "inscrito" indicas con 1 o 0 si ha pagado o no
 
$result= $db->query("SELECT * FROM clientes WHERE email='".$email."'");
$result= $result->fetch_assoc(); ?>
 
                   <? if($result['inscrito']==1 { ?>
 
                        Swal.fire({
                            icon: "warning",
                            title: "¡Ya esta inscrito en esta clase!",
                            text: "",
                            showConfirmButton: true,
 
                          });
<? } else { ?>
 
 
                        window.location = rutaOculta+"perfil";
 
                  <? } ?>
 
                }
 
            });
        }
    });</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fran
Val: 22
Ha disminuido su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Fran (10 intervenciones) el 19/02/2020 01:01:31
Gracias.. a mi también me cuesta JavaScript. Si no me que da más remedio tendré que ver directamente en php. Pero aún así, creo que el problema igual lo tendré, por que tal ves no tengo bien implementado el SweetAlert2 y no encuentro documentación para implementarlo con una respuesta de Ajax . :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Alejandro (532 intervenciones) el 19/02/2020 00:29:07
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Me parece que tu if(respuesta != false){ es el problema
has un console.log(respuesta) para que veas el resultado y toma en cuenta que ('false' != false) es verdadero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fran
Val: 22
Ha disminuido su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Fran (10 intervenciones) el 19/02/2020 01:05:58
Hola Alejandro... Hago un
1
console.log('respuesta', respuesta)
y me arroja en la consola:
1
respuesta falsefalse

Esto debe suceder cuando la compra no esta registrada en la BD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Alejandro (532 intervenciones) el 19/02/2020 05:18:50
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
pues bien, como vez, (falsefalse!=false) es true, ahora revisa porque carrito.ajax.php te da doble false
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fran
Val: 22
Ha disminuido su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Redireccionar a página si se cumple condición con Ajax y SweetAlert2

Publicado por Fran (10 intervenciones) el 19/02/2020 06:54:47
Si.!! hace poco encontré la solución. El problema no era el código que tenia en el archivo javascript que publique en un principio, El problema lo tenia en el archivo carrito.ajax.php ya que tenia dos funciones publicas usando la misma clase que se dirige al archivo javascript ... A pesar que tenían nombres totalmente diferentes, incluso en sus variables, igual colacionaban los datos. Por eso en la consola me salia respuesta falsefalse (dos veces false) y me tenia que dar respuesta false (una ves) Gracias igual por tu atención y ayuda a esta novata. Saludos.!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar