Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2014, 01:03
Ciel
 
Fecha de Ingreso: julio-2010
Mensajes: 126
Antigüedad: 14 años, 5 meses
Puntos: 5
Laravel 4 cargar correctamente los views con AJAX

Hola!

Me acabo de pasar a Laravel despues de usar CodeIgniter y me acostumbre bastante rapido, me parece muy superior este Framework, lo digo desde la ignorancia ya que tampoco soy muy experto en PHP en general.

No se si el tema esta bien publicado aca, ya que es un poco de AJAX y un poco de Laravel (o mejor dicho del MVC en general) que no logro hacer funcionar.

La cuestion es basicamente la siguiente: tengo un menu con diferentes opciones para recorrer la web, lo que busco es que al clickear en cada opcion, que cambie de pagina pero con AJAX. Para eso lo que hago es un .load() dentro de un #ajax-content pero el problema es que dentro de ese #ajax-content me carga nuevamente TODA la web y no el contenido en si. Es logico que lo haga por como lo estoy realizando pero no se de que forma resolverlo, me siento desorientado... alguna ayuda? Les muestro el codigo

Javascript:
Código Javascript:
Ver original
  1. $("a[rel='tab']").on('click', function (event) {
  2.     event.preventDefault();
  3.     if ( $(this).attr('href') != '#' ) {
  4.         $('#ajax-content').load($(this).attr('href'));
  5.     }
  6. });

menu:
Código HTML:
Ver original
  1. <nav id="TopNav" class="cl-effect-1">
  2.       <a href="/" rel="tab" data-hover="Buscador">Buscador</a>
  3.       <a href="/rrpp/lista" rel="tab" data-hover="Listado">Listado</a>
  4.       <a href="/info" rel="tab" data-hover="Informacion">Informacion</a>
  5.       <a href="#" data-hover="Aplicacion">Aplicacion</a>
  6.       <a href="/logueo" rel="tab" data-hover="¿Sos RRPP?">¿Sos RRPP?</a>
  7.       <a href="#" data-hover="Contacto">Contacto</a>
  8. </nav>

Tengo un template que me hice que es basicamente asi:

base.blade.php
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.     @include('head')
  4. </head>
  5.  
  6.  
  7. <div class="w95 center">
  8.  
  9.     @include('nav')
  10.  
  11.         <div id="ajax-content">
  12.  
  13.             @yield('content')
  14.    
  15.         </div>
  16.  
  17.     @include('footer')
  18.  
  19. </div>
  20.  
  21.     @include('scripts')
  22.  
  23. </body>
  24. </html>

De esa forma solo tengo que cambiar dinamicante el content, entonces tengo un view ejemplo.blade.php

Código blade:
Ver original
  1. extends('layouts.base')
  2.  
  3. @section('content')
  4.     Contenido codigo HTML aqui
  5. @stop

Desde un controller le hago dicho view

Código PHP:
Ver original
  1. class EjemploController extends BaseController {
  2.  
  3.     public function index()
  4.     {
  5.         return View::make('ejemplo');
  6.     }
  7.  
  8. }

Esa seria basicamente mi estructura, tienen alguna idea como puedo resolverlo? Desde ya muchas gracias.