Ajax que no funciona
Resuelto
Mephistole
Mensajes publicados
55
Fecha de registro
Estado
Membre
Última intervención
-
Mephistole Mensajes publicados 55 Fecha de registro Estado Membre Última intervención -
Mephistole Mensajes publicados 55 Fecha de registro Estado Membre Última intervención -
Hola,
Utilizo Ajax para que una persona no pueda registrarse en mi sitio a menos que la dirección de correo electrónico que proporciona no esté ya en la base de datos.
Aquí está mi controlador:
Aquí está mi script JS:
Aquí está mi modelo:
EDIT : Corrección de las etiquetas de código ( Adición del lenguaje para tener la coloración sintáctica! ) (jordane)
Mi script JS parece no estar cargado ya que le agregué el siguiente código:
Utilizo Ajax para que una persona no pueda registrarse en mi sitio a menos que la dirección de correo electrónico que proporciona no esté ya en la base de datos.
Aquí está mi controlador:
if (isset($_POST['checkMail'])) { session_start(); include_once '../models/dataBase.php'; include_once '../models/user.php'; $mailUnique = new user(); $mailUnique->mail = strip_tags($_POST['checkMail']); $checkMail = $mailUnique->checkMailUnique(); if ($checkMail !== false) { if ($checkMail == 1) { $_SESSION['formError'] = true; } echo json_encode($checkMail); } } Aquí está mi script JS:
$('#errorCheckMailUnique').css('display', 'none'); function checkMailUnique() { $.post('../../controllers/addUser-Controller.php', { checkMail: $('#mail').val() }, // Recuperamos los resultados del controlador function (checkMailResult) { // Si encontramos una dirección de correo en la base de datos, entonces mostramos un mensaje de error if (checkMailResult === 1) { $('#errorCheckMailUnique').css('display', 'block'); $('#submitRegistrer').attr('disabled', 'disabled'); alert('1'); } else if (checkMailResult === 0) { $('#errorCheckMailUnique').css('display', 'none'); $('#submitRegistrer').removeAttr('disabled', 'disabled'); alert('2'); } }, 'JSON' ); }; Aquí está mi modelo:
public function checkMailUnique() { $queryCheckMail = 'SELECT COUNT(`mail`) AS countMail ' . 'FROM `'.self::prefix.'user`' . 'WHERE `mail` = :mail'; $checkMailUnique = $this->db->prepare($queryCheckMail); PDO:: es una constante $checkMailUnique->bindValue(':mail', $this->mail, PDO::PARAM_STR); if ($checkMailUnique->execute()) { $checkMailUniqueResult = $checkMailUnique->fetch(PDO::FETCH_OBJ); return $checkMailUniqueResult->countMail; } else { return false; } } EDIT : Corrección de las etiquetas de código ( Adición del lenguaje para tener la coloración sintáctica! ) (jordane)
Mi script JS parece no estar cargado ya que le agregué el siguiente código:
$('button').css('background-color', 'red'); esta línea de código no funciona. Sin embargo, esta misma línea en otro script JS funciona. ¡A pesar de que he agregado <script src="assets/js/checkMailUnique.js" type="text/javascript"></script>en la etiqueta <head>!
1 réponse
Hola,
Cuando se trabaja con Javascript (y/o ajax) siempre es necesario empezar por revisar la CONSOLA del navegador para ver si hay errores.
(para ajax, recuerda activar la opción en algunos navegadores como Chrome (xhr))
(personalmente, para depurar, prefiero usar Firefox...)
Sea como sea, una de tus líneas de código me parece extraña.....
PD: En el futuro, por favor especifica el LENGUAJE en las etiquetas de código para poder tener la coloración sintáctica y la indentación del código (he editado tu mensaje para añadirlas).
Explicaciones disponibles aquí: https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
--
Atentamente,
Jordane
Cuando se trabaja con Javascript (y/o ajax) siempre es necesario empezar por revisar la CONSOLA del navegador para ver si hay errores.
(para ajax, recuerda activar la opción en algunos navegadores como Chrome (xhr))
(personalmente, para depurar, prefiero usar Firefox...)
Sea como sea, una de tus líneas de código me parece extraña.....
$.post(de данные или нет '../../controllers/addUser-Controller.php', { PD: En el futuro, por favor especifica el LENGUAJE en las etiquetas de código para poder tener la coloración sintáctica y la indentación del código (he editado tu mensaje para añadirlas).
Explicaciones disponibles aquí: https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
--
Atentamente,
Jordane
He resuelto el problema.
Me pareció haber especificado el lenguaje en las etiquetas. Seguramente cometí un error de manipulación.
He resuelto el problema.
Me pareció haber especificado el idioma en las etiquetas. Seguramente cometí un error de manipulación.