AJAX - ¿Qué estoy haciendo mal en el método ajax? No me funciona

   
Vista:
Imágen de perfil de Kevin

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por Kevin (3 intervenciones) el 07/05/2014 19:49:48
Buenos días! Tengo un problema con ajax. He probado varios metodos y siempre me da errores, estoy empezando y me gustaría saber que estoy haciendo mal.

Desde ya gracias. Abajo me script y el codigo php
En este ejemplo estoy usando el metodo $.post

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<script>
//Expresión para validar un correo electrónico
var expr = /^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/;
//valida el nombre de usuario
var expr2 = /^[a-zA-Z][a-zA-Z0-9_\.\-]{2,}/;
 
$(document).ready(function(){
 
	$("#registro").submit(function(){
 
		var nombre = $("#nombre").val();
		var direccion = $("#direc").val();
		var correo = $("#email").val();
		var nacimiento = $("#nacimiento").val();
		var user = $("#user").val();
		var contra1 = $("#pass").val();
		var contra2 = $("#pass2").val();
 
		if (nombre==""){
			$("#nombre").css("border-color", "red");
			$("#nombre").focus();
			$("#resultado").html("Campo requerido");
			return false;
		}else{
			$("#nombre").css("border-color", "");
			$("#resultado").html("Registrando...");
			if (direccion==""){
			$("#direc").css("border-color", "red");
			$("#direc").focus();
			$("#resultado").html("Campo requerido");
			return false;
			}else{
				$("#direc").css("border-color", "");
				$("#resultado").html("Registrando...");
				if (correo==""){
				$("#email").css("border-color", "red");
				$("#email").focus();
				$("#resultado").html("Campo requerido");
				return false;
				}else{
					$("#email").css("border-color", "");
					$("#resultado").html("Registrando...");
					if (!expr.test(correo)){
						$("#email").css("border-color", "red");
						$("#email").focus();
						$("#resultado").html("Cuenta de correo invalido");
						return false;
					}else{
						$("#email").css("border-color", "");
						$("#resultado").html("Registrando...");
						if (nacimiento==""){
							$("#nacimiento").css("border-color", "red");
							$("#nacimiento").focus();
							$("#resultado").html("Campo requerido");
							return false;
						}else{
							$("#nacimiento").css("border-color", "");
							$("#resultado").html("Registrando...");
							if (user=="" || !expr2.test(user)){
								$("#user").css("border-color", "red");
								$("#user").focus();
								$("#resultado").html("Campo requerido");
								return false;
							}else{
								$("#user").css("border-color", "");
								$("#resultado").html("Registrando...");
								if(contra1==""){
									$("#pass").css("border-color", "red");
									$("#pass").focus();
									$("#resultado").html("Campo requerido");
									return false;
								}else{
									$("#pass").css("border-color", "");
									$("#resultado").html("Registrando...");
									if (contra2 != contra1){
										$("#pass2").css("border-color", "red");
										$("#pass2").focus();
										$("#resultado").html("Las contraseñas no coinciden");
										return false;
									}else{
										$("#pass").css("border-color", "");
 
										$.post("../php/new_usuario.php",
												$("#registro").serialize(),
												function(res){
													if (res=="0"){
														$("#resultado").html("El usuario ya existe");
														$("#user").css("border-color", "red");
														$("#user").focus();
														return false;
													}else{
														$("#resultado").html("El usuario se registro exitosamente");
														return false;
													}
												}
										);
 
									}
								}
							}
						}
					}
				}
			}
		}
	});
 
 
});
</script>

//El codigo php que pretendo usar es éste

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
<?php
 
function res(){
	$nombre = utf8_decode($_POST['nombre']);
	$direc = $_POST['direc'];
	$correo = $_POST['email'];
	$nacimiento = $_POST['nacimiento'];
	$user = $_POST['user'];
	$pass = md5($_POST['pass']);
 
	$conexion = mysqli_connect("localhost", "root", "", "bibliotecas");
 
	$verifica = mysqli_query($conexion, "select user from usuarios where user like '$user'");
 
	if (mysqli_num_rows($verifica) > 0){
		$res = "0";
		echo $res;
	}else{
		$inserta = mysqli_query($conexion, "insert into usuarios('username') values ('$user')"
		$res = "1";
		echo $res;
	}
 
	mysqli_close($conexion);
}
 
return res();
 
?>
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
información
Otras secciones de LWP con contenido de AJAX
- Código fuente de AJAX
- Cursos de AJAX
- Temas de AJAX
información
Códigos de AJAX
- Actualizar desplegable
- Número aleatorio manual
- Autocompletar
Imágen de perfil de xve

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por xve (167 intervenciones) el 07/05/2014 22:14:34
Hola Kevin, es posible que nos muestres el formulario?

Sin el, no podemos probarlo para buscar el error...
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 Kevin

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por Kevin (3 intervenciones) el 26/05/2014 19:10:09
Perdón por no colocar esto. Gracias por la respuesta...

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html>
<html lang="es">
 
<head>
<meta charset="utf-8" />
<link href="../css/estilos.css" rel="stylesheet"/>
<link href="../css/jquery.datepick.css" rel="stylesheet"/>
 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui.js"></script>
<script type="text/javascript" src="../js/jquery.plugin.js"></script>
<script type="text/javascript" src="../js/jquery.datepick.js"></script>
 
<script>
$(function() {
$("#nacimiento").datepick({dateFormat: 'dd-mm-yyyy'});
});
</script>
 
</head>
 
<body>
<div id="contenedor">
 
<header id="encabezado">
<h2>Registrarse</h2>
</header>
 
<fieldset>
<legend>
Datos del usuario
</legend>
 
<table>
<form id="registro" name="registro">
	<tr>
		<td>
		<span class="etiquetas">Nombre</span><br>
		<input type="text" id="nombre" name="nombre" class="lar">
		</td>
	</tr>
	<tr>
		<td>
		<span class="etiquetas">Dirección</span><br>
		<input type="text" id="direc" name="direc" class="lar">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Correo electrónico</span><br>
		<input type="text" id="email" name="email" class="lar">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Fecha de nacimiento</span><br>
		<input type="text" id="nacimiento" name="nacimiento" readonly>
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Nombre de usuario</span><br>
		<input type="text" id="user" name="user">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Contraseña</span><br>
		<input type="password" id="pass" name="pass">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Repita contraseña</span><br>
		<input type="password" id="pass2" name="pass2">
		</td>
	</tr>
 
	<tr>
		<td>
		<input type="submit" id="btn" name="btn" value="Submit">
		</td>
	</tr>
 
	<tr>
		<td>
		<div id="resultado">Registrando...</div>
		</td>
	</tr>
 
</form>
</table>
</fieldset>
<small><p>¿Ya tienes una cuenta registrada? <a href="#">Identificate</a></p></small>
 
</div>
 
 
 
</body>
 
</html>
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 xve

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por xve (167 intervenciones) el 26/05/2014 22:48:45
Hola Kevin, gracias por mostrarlo... parece que todo esta bien...

La única cosa que veo, es que no has puesto ; al final de la instrucción:
1
$inserta = mysqli_query($conexion, "insert into usuarios('username') values ('$user')"

Podría ser por esto que no te funciona?

Puedes probarlo? coméntanos, ok?
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 Kevin

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por Kevin (3 intervenciones) el 27/05/2014 17:56:09
corregí lo del punto y coma pero nada... la validación si funciona pero al momento de entrar en el else donde esta el método post simplemente parece como si lo omitiera :(
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