Ver Mensaje Individual
  #18 (permalink)  
Antiguo 21/01/2011, 17:03
jeniar
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Busqueda Respuesta: case con ajax

ola :D soy nuevo aqui.. estube leyendo de este tema.. y bueno aprendi cosas que no sabia ..
en cuanto a tu caso.. mira todo estaba bien.. solo k hay un pequeño detalle en el evento click .. cuando haces click en el enlace.. este tendra k cargar el ajax..

pero por ser una peticion ajax esta se ejecuta de manera asincrona.. asi que primero tienes k pevenir el evento por defecto del link con preventDefault()
de jquery antes que ejecutes tu llamada ajax y no despues.. de lo contrario no servira
Código HTML:
Ver original
  1. <script type="text/javascript" src="js/jquery-1.3.2.js"></script>
  2. <script type="text/javascript">
  3. $(function(){
  4.  $('a[rel=ajax]').bind('click', function(event){
  5.      document.location.href='#'+this.href;
  6.     //prevenimos el  evento por defecto
  7.     event.preventDefault();
  8.     // ejecutamos el ajax...
  9.     cargarPagina();
  10.   });
  11. });
  12.  
  13.  
  14. <script type="text/javascript">
  15. function cargarPagina(){
  16.     var str = (document.location.href).toString().split('#');
  17.     var script = str[1]; // inbox.php?mg=st
  18.  
  19.    $.ajax({
  20.             url: script,    
  21.             type: "GET",        
  22.             data: data,    
  23.             cache: false,
  24.             success: function (html) {  
  25.                 $('.loading').hide();              
  26.                 $('#content').html(html);
  27.                 $('#body').fadeIn('slow');      
  28.        
  29.             }      
  30.         });
  31. }
  32.  
  33.  
  34. <a href="ajaxcase.php?q=v" rel="ajax">enlace</a>
  35.  
  36.  
  37. <?php
  38. switch ($_GET['q']) {
  39.    case 'v':
  40.        echo "works";
  41.        break;
  42.  
  43.    default:
  44.       echo "do it";
  45. }
  46. ?>
  47. </body>

Saludos ... :D

ATTE. Gerson Pardo