Foros del Web » Programando para Internet » Jquery »

jQuery: Al usar $.ajax() se pierden datos POST

Estas en el tema de jQuery: Al usar $.ajax() se pierden datos POST en el foro de Jquery en Foros del Web. Hola!! Estoy programando un sencillo sistema para dejar comentarios en mi web, y me está dando unos cuantos quebraderos de cabeza. Os cuento lo que ...
  #1 (permalink)  
Antiguo 05/11/2008, 01:30
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 1
jQuery: Al usar $.ajax() se pierden datos POST

Hola!! Estoy programando un sencillo sistema para dejar comentarios en mi web, y me está dando unos cuantos quebraderos de cabeza. Os cuento lo que me ocurre, por si me podeis ayudar:

Lo que hago via jQuery es recoger el resultado del formulario y enviarlo a una página en php, que recogerá los datos y los almacenará en la base de datos. Pero por alguna razón los datos que llegan a la página PHP no son los originales y no lo entiendo.

Aquí dejo el código para que veais que puede estar ocurriendo.

SCRIPT jQUERY:

Código:
function docom(){
		var user;
		var id;
		var body;
		user = $("#comform_user").attr("value");
		id = $("#comform_id").attr("value");
		tinyMCE.activeEditor.save();
		body = $('#comform_body').attr("value");
		alert(body);
		if(body != ''){
		$.ajax({
			type: "POST",
			url: "docom.php",
			data: "user=" + user + "&id=" + id + "&body=" + body,
			success: function(datos){
				alert(datos);
				$('#com_wysiwyg').slideUp("slow", function () {$('#com_wysiwyg').html('<div class="comentario"><table><tr><td align="center" valign="top"><div class="com_avatar"><img src="users/avatar/' + user + '.jpg" width="60" height="75"></div><div class="com_username">' + user + '</div><div class="com_toolbar"></div></td><td rowspan="3" valign="top"><span class="body_com">' + datos + '</span></td></tr></table></div>').show(1000, function () {$("#com_wysiwyg").corner("10px"); $("#com_wysiwyg").css("margin-top", "0"); $("#com_wysiwyg").css("margin-bottom", "10px"); $(".com_avatar").corner("10px");});});
			}});
		}
		else{alert('El comentario no puede estar vacío');}
	}
El resultado del primer alert: alert(body); son los datos correctos por ejemplo: "<p>Este es mi comentario</p>"

Mientras que el segundo alert: alert(datos); me devuelve cosas como: "<p>Este es mi co". Es decir, no devuelve todo el contenido.

Os dejo también el código PHP:

Código:
	$user = $_POST['user'];
	$id = $_POST['id'];
	$body = $_POST['body'];

	include('connections/iyoel.php');
	
	$consulta_com = "INSERT INTO comentarios (user, type, content_id, body) VALUES('" . $user . "', 'A', '" . $id . "', '" . $body . "')";
	$resultado_com = mysql_query($consulta_com, $db);
	
	echo $body;
La verdad es que no entiendo que puede pasar. A ver si me podeis echar una mano.

Saludos.

Última edición por sbsyoel; 05/11/2008 a las 09:46
  #2 (permalink)  
Antiguo 05/11/2008, 06:54
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 13 años, 2 meses
Puntos: 56
Respuesta: jQuery: Al usar $.ajax() se pierden datos POST

Por ahi.. leí que en vez de poner $("#comform_user").attr("value"), podría ser $("#comform_user").val(), pero aún no estoy seguro si está bien por que no lo he probado, no pierdes nada en intentarlo ó tambien aplicar la función $.post

Código PHP:
$.post("docom.php", { useruserididbodybody }, function(data){
  
alert(data);
}); 
Es normal que no te funcione por que también estoy empezando a usar JQuery ^^
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #3 (permalink)  
Antiguo 05/11/2008, 09:41
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: jQuery: Al usar $.ajax() se pierden datos POST

Cita:
Iniciado por America|UNK Ver Mensaje
Por ahi.. leí que en vez de poner $("#comform_user").attr("value"), podría ser $("#comform_user").val(), pero aún no estoy seguro si está bien por que no lo he probado, no pierdes nada en intentarlo ó tambien aplicar la función $.post

Código PHP:
$.post("docom.php", { useruserididbodybody }, function(data){
  
alert(data);
}); 
Es normal que no te funcione por que también estoy empezando a usar JQuery ^^
Hola America|UNK

He probado utilizando el método $.post() y cambiando .attr("value") por .val(), pero nada, me ocurre lo mismo.

De todas formas gracias por responder.

Saludos.

Última edición por sbsyoel; 05/11/2008 a las 09:47
  #4 (permalink)  
Antiguo 07/11/2008, 21:59
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: jQuery: Al usar $.ajax() se pierden datos POST

holas yo tambien tengo un problema con esto mi archivo xd.php tiene un print_r($_POST); y un echo "waxD"; pero en lugar de tirarme lo que mando o el otro mensaje me regresa el codigo el codigo del index que es el mismo de abajo.
saludos =)
Código PHP:
<script>
$(
document).ready(function(){
    $(
"form#xD").submit(function(){
        $.
post("xd.php",{ 
            
name"wawa",
            
time"12:00"
            
},function(data){
                
alert(data);
            }
        );
        return 
false;
    });
  });
</script>
</head>
<body>
    <form id="xD">
        <input type="submit" name="name" id="msg" value="xD"/>
    </form>
</body> 
  #5 (permalink)  
Antiguo 08/11/2008, 09:22
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: jQuery: Al usar $.ajax() se pierden datos POST

Cita:
Iniciado por libso Ver Mensaje
holas yo tambien tengo un problema con esto mi archivo xd.php tiene un print_r($_POST); y un echo "waxD"; pero en lugar de tirarme lo que mando o el otro mensaje me regresa el codigo el codigo del index que es el mismo de abajo.
saludos =)
Hola libso. He probado el mismo código que tu has posteado y a mi me funciona perfectamente. Es decir, el alert(data); me devuelve lo que debe ser. Que es esto:

Array
(
[name] => wawa
[time] => 12:00
)
waxD


Seguramente te estes equivocando en alguna tontería en el código. Quizás al no cerrar alguna etiqueta correctamente.

Te dejo mi código para que lo compares con el tuyo y veas que te puede estar pasando.

Archivo index.php:

Código HTML:
<head>
<title>Prueba con jQuery</title>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script>
$(document).ready(function(){
    $("form#xD").submit(function(){
        $.post("xd.php",{ 
            name: "wawa",
            time: "12:00"
            },function(data){
                alert(data);
            }
        );
        return false;
    });
  });
</script>
</head>
<body>
    <form id="xD">
        <input type="submit" name="name" id="msg" value="xD"/>
    </form>
</body> 
Archivo xd.php:

Código PHP:
<?php
    print_r
($_POST);
    echo 
"waxD";
?>
Suerte.

Saludos
  #6 (permalink)  
Antiguo 08/11/2008, 09:27
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: jQuery: Al usar $.ajax() se pierden datos POST

Volviendo a mi problema:

¿Alguien sabe que me puede estar pasando?¿Os ha ocurrido algo parecido?

Agradezco cualquier idea. Porque la verdad me estoy volviendo loco con esto. No tengo ni idea de que puede ser.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.