2015-02-06 119 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(); 

}