Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] jumm problema con load dentro de un $.ajax

Estas en el tema de jumm problema con load dentro de un $.ajax en el foro de Jquery en Foros del Web. bueno muchachos este es mi problema amm y Feliz año nuevo que mejore el internet....BUeno ahora si. quiero cargar solo una parte de una pagina ...
  #1 (permalink)  
Antiguo 08/01/2013, 10:15
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
jumm problema con load dentro de un $.ajax

bueno muchachos este es mi problema amm y Feliz año nuevo que mejore el internet....BUeno ahora si. quiero cargar solo una parte de una pagina web dentro de otra ok facil con .load('complemento.php #parte'); hasta ahi normal. pero el problema es el siguiente:

$('.kin span').click( function(){
var vaor=$(this).attr('id');
var daty='ver='+vaor;
$.ajax({
type:'POST',
url:'../BusHistMensa/chat.php',
data:daty,
cache:false,
success: function(abc){
$('.mostrador').html(abc).fadeIn(1000, function(){ /*linea que quiero cambiar!!!*/
$('.close3').click(function(){
$('.mostrador').fadeOut(1000);
});
});
}
});

});

como pueden ver aqui no utilizo .load sino html por que lo que voy a cargar depende de el valor que envie (dinamica) dentro de '../BusHistMensa/chat.php' hay una consulta.
Pero yo no quiero de esta forma ya que me tocaria crear muchos archivos php y no. pero cuando lo intento con .load() no funciona (lo que pondre es solo una parte pero es el mismo de arriba solo que con load() ):

data:daty,
cache:false,
success: function(){
$('.mostrador').load('../BusHistMensa/chat.php #contenedor').fadeIn(1000, function(){ /*esta es la que quiero pero no funciona*/
$('.close3').click(function(){
$('.mostrador').fadeOut(1000);
});
});
}


haciendolo de esta forma me sale que el post[´ver´] enviado a ../BusHIstMensa/chat.php esta vacio y hay error. No se como arreglar esto si hay un crack de jquery y ajax que me ajude gracias!!

Última edición por sonickseven; 08/01/2013 a las 10:18 Razón: mas entendible
  #2 (permalink)  
Antiguo 08/01/2013, 10:46
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: jumm problema con load dentro de un $.ajax

Hola, segun la documentacion de Jquery .load() recibe 3 parametros

1. url
2. data
3. callback

si tu no especificas data el metodo por el cual se abrira la url es con GET, de lo contrario se usa POST, asi que tienes dos opciones cambias en tu archivo $_POST por $_GET, que seria lo menos recomendable, para evitar inyeccion por url o envias algun dato

Código Javascript:
Ver original
  1. $('.mostrador').load('../BusHistMensa/chat.php #contenedor', {data:true})
por poner un ejemplo

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 08/01/2013, 11:04
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: jumm problema con load dentro de un $.ajax

Bueno despues de leer mas detalladamente tu pregunta (por favor usa el highlight del foro) y despues de ver mi respuesta hay un asunto y es el siguiente, estas haciendo un paso de mas

Código Javascript:
Ver original
  1. $('.kin span').click( function(){
  2.     var vaor=$(this).attr('id');
  3.     var daty='ver='+vaor;
  4.     $.ajax({
  5.         type:'POST',
  6.         url:'../BusHistMensa/chat.php',
  7.         data:daty,
  8.         cache:false,
  9.         success: function(abc){
  10.             $('.mostrador').html(abc).fadeIn(1000, function(){ /*linea que quiero cambiar!!!*/
  11.                 $('.close3').click(function(){
  12.                     $('.mostrador').fadeOut(1000);
  13.                 });
  14.             });
  15.         }
  16.     });
  17. });
Si vas a usar load en ese caso, solo debes de colocar lo siguiente:

Código Javascript:
Ver original
  1. $('.kin span').click( function(){
  2.     var vaor=$(this).attr('id');
  3.     var daty={ver:vaor};
  4.     $('.mostrador').load('../BusHistMensa/chat.php #contenedor', daty, function(){
  5.         $('.close3').click(function(){
  6.             $('.mostrador').fadeOut(1000);
  7.         });
  8.     })
  9. });
Con eso deberia bastar
Load y Ajax hacen casi lo mismo asi que no tiene sentido hacer una peticion ajax y despues un load si amabas apuntan a la misma pagina

Mira los cambios realizados daty pasa de ser texto a ser un objeto json tenlo en cuenta

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #4 (permalink)  
Antiguo 10/01/2013, 14:37
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: jumm problema con load dentro de un $.ajax

gracias amigo enserio me funciono pero lo malo es que envia por get y no por post como hago como le hago? y pues mire tu primera respuesta y no la endi bn osea como la meto en el codigo del .load();
Código Javascript:
Ver original
  1. $('.mostrador').load('../BusHistMensa/chat.php #contenedor', {data:true})
pero no se como aplicarlo a este
Código Javascript:
Ver original
  1. $('.mostrador').load('../BusHistMensa/chat.php #contenedor', daty, function(){});
agradesco si puedes darme la solucion y si tambien muchas gracias :D
  #5 (permalink)  
Antiguo 10/01/2013, 15:15
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: jumm problema con load dentro de un $.ajax

La primera respuesta fue un desfase mio xD

Osea que la primera respuesta no es la correcta

Código Javascript:
Ver original
  1. $('.mostrador').load('../BusHistMensa/chat.php #contenedor', daty, function(){});
daty ya no es un texto, porque tu tenias

var daty='ver='+vaor;

y yo lo modifique a un objeto json asi

var daty={ver:vaor};

Por eso queda de esta manera:

Código Javascript:
Ver original
  1. $('.kin span').click( function(){
  2.     var vaor=$(this).attr('id');
  3.     var daty={ver:vaor};
  4.     $('.mostrador').load('../BusHistMensa/chat.php #contenedor', daty, function(){
  5.         $('.close3').click(function(){
  6.             $('.mostrador').fadeOut(1000);
  7.         });
  8.     })
  9. });

De esa manera deberia funcionar y enviar los datos por metodo POST
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #6 (permalink)  
Antiguo 10/01/2013, 15:33
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: jumm problema con load dentro de un $.ajax

ya encontre la solucion uu que bn poe que la verdad como este problema tenia como sin iguales paa solucionar y bue aqui esta la solucion por si alguien que tiene mi mismo problema lo necesita
Código Javascript:
Ver original
  1. $('.kin span').click( function(){
  2.         var vaor=$(this).attr('id');
  3.         $('.mostrador').load('../BusHistMensa/chat.php #contenedor',{ver:vaor}, function(){// aquie solo puse ver que va a ser el post enviado a chat y vaor el valor
  4.             $('.close3').click(function(){
  5.                 $('.mostrador').fadeOut(1000);
  6.             });
  7.         })
  8.     });

Etiquetas: ajax, funcion, html, load, php
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 00:05.