2016-06-02 17 views
-1

Ich möchte die Standard-Laravel Paginierung nicht die Seite über Ajax aktualisieren, aber Fehler bekommen, Ihre Hilfe wirklich geschätzt. Wenn ich auf Seite 2 die Fehler 500 zeigtAjax Paginierung Ausgabe in Laravel 5.2

GET http://localhost:8000/stock?page=2 500 (Internal Server Error) 

Sie wissen nicht, was das Problem ist.

Dies ist mein Controller:

public function index() 
{ 
    $menu = 'stock'; 
    $sub_menu = 'stock_list'; 
    $category = DB::table('categories')->select('cat_id','category_name')->get(); 
    $units = DB::table('units')->select('unit_id','unit_name')->get(); 
    $brands = DB::table('brands')->select('bid','brand_name')->get(); 
    $purchase_type = DB::table('purchase_types')->select('pt_id','type')->get(); 

    $items = DB::table('items') 
     ->join('categories','categories.cat_id','=','items.category_id') 
     ->join('units','units.unit_id','=','items.unit_id') 
     ->select('items.*','categories.cat_id','categories.category_name','units.unit_id','units.unit_name') 
     ->where('items.quantity','>',0) 
     ->paginate(1); 
    $total = Item::where('status', 0)->count(); 
    if (Request::ajax()) { 
     return Response::json(view('partials.pagination')->with(compact('items','total'))->render()); 
    } 
    return view('stock.stock-list', compact('items','category', 'purchase_type', 'units','brands','total','menu', 'sub_menu')); 
} 

Und der js Code:

$(document).ready(function(){ 
    $(window).on('hashchange',function(){ 
    page = window.location.hash.replace('#',''); 
    getItems(page); 
}); 
$(document).on('click','.pagination a', function(e){ 
    e.preventDefault(); 
    var page = $(this).attr('href').split('page=')[1]; 
    // getItems(page); 
    location.hash = page; 
}); 
function getItems(page){ 
    $.ajax({ 
     url: '/stock?page=' + page 
    }).done(function(data){ 
     $('#theContent').html(data); 
    }); 
} 

Ausblick:

<div class="col-sm-6 text-right" id="pagination"> 
    {{ $items->links() }} 

</div> 
+0

seine php Paginierung nicht ajax Paginierung – madalinivascu

+0

und Sie können die Paginierung über den Ajax nicht beibehalten – madalinivascu

+1

Ich denke, Sie missverstanden, ich meine, dass die nächste Seite Daten mit Ajax ohne Seitenaktualisierung laden möchten, sonst funktioniert es gut. – Khodadad

Antwort

0

Return eine Ansicht kein json Objekt

if (Request::ajax()) { 
     return view('partials.pagination')->with(compact('items','total'))->render(); 
    } 
+0

Hah ha, ja, danke. – Khodadad