2015-02-06 246 views
0

Laravel路由我有laravel路線定義如下傳遞數組通過AJAX

Route::get('dos',array('as'=>'saveOrder','uses'=>'[email protected]')); 

我的Ajax請求如下

var params = $("#tab_logic :input[name='id[]']").serialize(); 
//alert(params); 

$.ajax({ 
    url: "dos", 
    method: 'GET', 
    data: params, 
    //dataType:"json", 
    success: function(data) 
    { 
     // do nothing 
     alert(data); 
    } 
}); 

執行時,我得到一個500服務器錯誤。輸入字段ID []是一個數組,我希望將這個數組發送到laravel路由,以便我可以使用Input :: get('id')在控制器動作中處理它。

+0

你嘗試使用完整的URL的AJAX?像'http:// domain/dos'雖然不應該由此導致500錯誤,但試試看。 – 2015-02-06 08:00:58

+0

檢查'app/storage/logs/laravel.log'是否有錯誤 – lukasgeiter 2015-02-06 08:08:40

+0

有問題,範圍查詢出錯 – anandatheerthan 2015-02-06 09:47:57

回答

0

通過檢查日誌發現在範圍查詢中存在問題。如何使用範圍查詢來實現此目的。

$data = Books::select(DB::raw('count(*) as order_count, subject')) 
       ->whereIn('id',$id) 
       ->groupBy('subject') 
       ->get(); 
0

我沒有50個代表。所以我不能評論。 之前,儘量在你的Ajax容器 「DOS」 puttying fowardslash

$("#tab_logic :input[name='id[]']").serialize(); 
//alert(params); 

$.ajax({ 
    url: "/dos", //<- this line is edited 
    method: 'GET', 
    data: params, 
    //dataType:"json", 
    success: function(data) 
    { 
     // do nothing 
     alert(data); 
    } 
}); 
0

試試這個

Route::get('dos','[email protected]'); 

var params = $("#tab_logic :input[name='id[]']").serialize(); 
//alert(params); 

$.ajax({ 
    url: "dos", 
    method: 'GET', 
    data: params, 
    //dataType:"json", 
    success: function(data) 
    { 
     // do nothing 
     alert(data); 
    } 
}); 

//Controller 
public function DOS() 
    { 
$data= Input::all(); 

}