Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] ajax para mostrar resultado en dos divs distintos?

Estas en el tema de ajax para mostrar resultado en dos divs distintos? en el foro de Jquery en Foros del Web. en un script sencillo como este: function() { $.ajax({ type: 'POST', url: $(this).attr('action'), data: $(this).serialize(), success: function(data) { $('.resultado').html(data); } }) return false; }); me ...
  #1 (permalink)  
Antiguo 12/02/2016, 17:08
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 4 meses
Puntos: 2
Pregunta ajax para mostrar resultado en dos divs distintos?

en un script sencillo como este:

function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {

$('.resultado').html(data);
}
})
return false;
});

me muestra las salidas 'echo' del archivo.php relacionado a dicho script, todo en un solo div (resultado)... mi duda sería, es posible mostrar un 'echo' determinado en un div cualquiera y asi sucesivamente? o ajuro la data extraida siempre debe estar asociada a un unico contenedor?
  #2 (permalink)  
Antiguo 12/02/2016, 20:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax para mostrar resultado en dos divs distintos?

Si lo que pretendes es generar más de un valor en el lado del servidor y cada uno de dichos valores mostrarlos en distintos elementos, necesitarás devolver un objeto JSON.

Código PHP:
Ver original
  1.     'nombre' => 'Juan',
  2.     'apellido' => 'Pérez',
  3.     'edad' => 29
  4. ]);

Código Javascript:
Ver original
  1. $.ajax({
  2.     type: 'POST',
  3.     url: $(this).attr('action'),
  4.     data: $(this).serialize(),
  5.     dataType: 'JSON',
  6.     success: function(data) {
  7.         $('#label_nombre').text(data.nombre);
  8.         $('#label_apellido').text(data.apellido);
  9.         $('#label_edad').text(data.edad);
  10.     }
  11. });

Fíjate que, en el método $.ajax(), añadí al atributo dataType con el valor JSON. Esto es para que interprete la respuesta como un objeto JSON y así puedas acceder a sus propiedades ya sea mediante la notación por corchetes (objeto["atributo"]) o por puntos (objeto.atributo).

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 13/02/2016, 18:26
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 4 meses
Puntos: 2
Sonrisa Respuesta: ajax para mostrar resultado en dos divs distintos?

ultimamente me has estado salvando mucho la vida xD... tu aporte estoy seguro que me servira, en este caso estoy lidiando con variables... seria algo mas o menos asi? lo necesito para mostrar el comentario recien enviado sin necesidad de recargar la pagina tengo algo asi pero no me va del todo bien:

script:

$('#form').submit(
function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
dataType: 'JSON',
data: $(this).serialize(),
success: function(data) {

document.getElementById('form').reset();
$('#status').html(data);
}
})
return false;
});

php:

Código PHP:
$nombre $datos['nombre'];
$fecha $datos['fecha'];
$comentario $datos['comentario'];


$resultado '<div id="comentario">
<autor> '
.$nombre.' dice: </autor> <i><date>  el  '.$fecha.' </date> </i>
<hr>
<p>
'
.$comentario.'
</p>
</div>'
;

    echo 
json_encode([
        
'resultado' => $resultado;
    ]); 
  #4 (permalink)  
Antiguo 13/02/2016, 18:48
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 4 meses
Puntos: 2
Respuesta: ajax para mostrar resultado en dos divs distintos?

SOLUCIONADO! tenia el ; demas... me has vuelto a salvar full gracias Crack :D

Etiquetas: ajax, divs, javascript, php, resultado
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 02:40.