Mostrar un mensaje de error con Ajax
Resuelto
BlaBiks
Mensajes publicados
22
Estado
Miembro
-
jordane45 Mensajes publicados 30427 Fecha de registro Estado Moderador Última intervención -
jordane45 Mensajes publicados 30427 Fecha de registro Estado Moderador Última intervención -
Hola a todos,
Tengo una pequeña pregunta sobre Ajax, he hecho un chat que envía los mensajes mediante Ajax a mi documento send.php
Pero el problema es que ya no puedo mostrar los mensajes de error con echo "..."; ya que la página no se refresca, así que me gustaría saber cómo hacer para mostrar los mensajes de error, me dijeron que hiciera una solicitud Ajax, pero no manejo eso en absoluto, gracias a todos, también aclaro que no puedo verificar en jQuery si todo está bien ya que tengo varias funcionalidades sobre eso.
Tengo una pequeña pregunta sobre Ajax, he hecho un chat que envía los mensajes mediante Ajax a mi documento send.php
Pero el problema es que ya no puedo mostrar los mensajes de error con echo "..."; ya que la página no se refresca, así que me gustaría saber cómo hacer para mostrar los mensajes de error, me dijeron que hiciera una solicitud Ajax, pero no manejo eso en absoluto, gracias a todos, también aclaro que no puedo verificar en jQuery si todo está bien ya que tengo varias funcionalidades sobre eso.
3 respuestas
-
Mejor..
Por otro lado:
El primer código js ... (usado con el segundo código (php)) sirve para añadir mensajes en la base de datos... ok.
Pero tu tercer código ... el que quieres poder usar visiblemente en ajax .... ¿cómo se activa?
¿Al presionar un botón?
En ese caso, tendrás que poner un ONCLICK en ese botón (en lugar de hacer un submit) para llamar a una función javascript que irá, en ajax, a llamar a un archivo php que contiene el siguiente script:<?php //Mostrar errores php error_reporting(E_ALL); // No olvides incluir tu archivo de conexión a la base de datos require_once 'cnxBdd.php'; //recuperación limpia de variables $users = isset($ban['1']) ? trim(addslashes($ban['1'])) : NULL; $result = array(); //Inicialización de la variable de salida if($users){ $sql = 'SELECT * FROM users WHERE username = :username'; $datas = array(':username' => stripslashes($users)); try{ $infoUsersReq = $db->prepare($sql); $infoUsersReq->execute($datas); $infoUsers = $infoUsersReq->fetch(); }catch(Exception $e){ //en caso de error en la consulta $result['error'] = $e->getMessage(); } if($infoUsers){ if($username != $infoUsers['username']) { if($infoUsers['grade'] != 'administrador') { if($infoUsers['chatban'] == '0'){ $banUsersChatReq = $db->prepare('...'); $banUsersChatReq->execute(array(...)); // AQUÍ CAMBIAMOS EL ESTATUS DEL MIEMBRO PARA BANNEARLO } else { $result['message'] = "¡El miembro ya está baneado!"; } } else{ $result['message'] = "¡No puedes banear a un administrador!"; } } else{ $result['message'] = "¡No puedes banearte a ti mismo!"; } } else { $result['message'] = "¡El miembro no existe!"; } } //Convertimos a JSON para poder usarlo en javascript echo json_encode($result);
Parte de javascript ajaxfunction ban(user){ // los datos a transmitir al script ajax php var data = {user:user}; //llamada ajax $.ajax({ type: "POST", url: urlAjx, data: data, async: async, dataType: "json", success: function(reponse){ // reponse es un objeto json que contiene la información devuelta por la página php console.log(reponse); //muestra el resultado en la consola del navegador. var error = (typeof(reponse.error) !='undefined' && reponse.error!=null) ? reponse.error : null; if(error){ alert("¡Error durante la ejecución de la consulta! " + error); } var message = (typeof(reponse.message) !='undefined' && reponse.message!=null) ? reponse.message : null; if(message){ alert(message); } }, error:function(jqXHR, textStatus){ alert('error'); console.log(jqXHR); //mostrar en la consola del navegador } }); } -
Hola,
Sin ver tu código ... IMPOSIBLE ayudarte.
Sin embargo... hablas de hacer un echo... pero... en ajax... es con JAVASCRIPT que muestras la información....
En cuanto a tener un ejemplo de ajax, aquí tienes uno (que utiliza JQUERY): https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
--
Atentamente,
Jordane-
-
-
Pero ¿qué quieres ver? Solo hay eso que puede serte útil https://prnt.sc/b9rbx9 ..
-
-
-
-
¿Puedes, como ya te he pedido, PEGAR el código directamente en el foro en lugar de poner imágenes?
(los mismos dos trozos de código estarán bien).
Sin embargo... ¿qué tipo de error quieres poder mostrar? No encuentro correspondencia entre el ejemplo dado (el grado = administrador...) y los dos trozos de código que acabas de darnos...