从ajax调用追加部分

时间:2014-05-27 15:05:29

标签: laravel laravel-4 blade

我试图用ajax添加部分内容,但是当我这样做时,它会将整个页面(再次添加菜单和所有元素)添加到我这里,我是什么想要的只是带来一块。

这就是我所拥有的。

#views/partials/avisos.blade.php

@section('content')
  @foreach ($avisos as $aviso)
    <tr>
       <td>{{$aviso->aviso_id}}</td>
       <td>{{$aviso->Guia}}</td>
       <td>{{$aviso->Nombre_de_vendedor}}</td>
    </tr>
  @endforeach
@stop

#controllers/HomeController.php

public function searchVentas(){
  $avisos = DB::table('avisos').... ->get();

  $this->layout->content = View::make('partials.avisos')->with('avisos', $avisos); 
}

#views/ventas.blade.php

$("#edicion_id").change(function(){
   var edicion_id = $(this).val();
   $( "#datepicker" ).val("");

   $.get("searchVentas",{edicion_id: edicion_id}, function(data){ 
       $("tbody").append(data);
   });
});

1 个答案:

答案 0 :(得分:2)

尝试更改

$this->layout->content = View::make('partials.avisos')->with('avisos', $avisos); 

Return View::make('partials.avisos')->with('avisos', $avisos); 

编辑:但您需要更改部分文件 - 因为没有&#39;部分&#39; - 所以删除像这样的@section

  @foreach ($avisos as $aviso)
    <tr>
       <td>{{$aviso->aviso_id}}</td>
       <td>{{$aviso->Guia}}</td>
       <td>{{$aviso->Nombre_de_vendedor}}</td>
    </tr>
  @endforeach

另一种选择是制作一个空白的&#39;像这样的布局:

应用/视图/布局/ blank.blade.php

@yield('content')

然后在控制器中执行此操作

$this->layout = View::make('layouts.blank');
$this->layout->content = View::make('partials.avisos')->with('avisos', $avisos);