Php 在Laravel中使用csrf令牌时出现500内部服务器错误
我不断收到错误Php 在Laravel中使用csrf令牌时出现500内部服务器错误,php,jquery,ajax,laravel-5.3,Php,Jquery,Ajax,Laravel 5.3,我不断收到错误帖子http://localhost:8000/live_datatable_search 500(内部服务器错误)其中live\u datatable\u search是路由名称。虽然我使用的是{{csrf_field()} 这是我的脚本部分 var search = $('#search').val(); var token = $('input[name=_token]').val(); console.log(token);
帖子http://localhost:8000/live_datatable_search 500(内部服务器错误)
其中live\u datatable\u search
是路由名称。虽然我使用的是{{csrf_field()}
这是我的脚本部分
var search = $('#search').val();
var token = $('input[name=_token]').val();
console.log(token);
$.ajax({
url:'/live_datatable_search',
type: 'POST',
data: {
search : search,
_token : token
},
success:function(msg){
console.log(msg);
$("#report").html(msg);
}
});
路线
控制器代码
public function live_datatable_search(Request $request)
{
if($request->search)
{
$search = Adminuser::select('adminuser.*', 'user_type.name as user_type')
->orderBy('adminuser.user_type_id')
->leftJoin('user_type', 'adminuser.user_type_id', '=', 'user_type.id')
->where('adminuser.full_name', 'like', '%'. $request->search.'%')
->orWhere('adminuser.username', 'like', '%'. $request->search.'%')
->orWhere('adminuser.email', 'like', '%'. $request->search.'%')
->get();
if($search)
{
foreach ($search as $key => $value) {
$trHTML += "<tr class='itemList' data-toggle='modal' data-target='#exampleModal'>";
$trHTML += "<input type='hidden' id='id' value='" + $value->id +"'><input type='hidden' id='user_type_id' value='" + $value->user_type_id + "'>";
$trHTML += "<td id='full_name'>" + $value->full_name + "</td>";
$trHTML += "<td id='email'>" + $value->email + "</td>";
$trHTML += "<td id='user_type'>" + $value->user_type + "</td>";
$trHTML += "</tr>";
echo $trHTML;
}
}
}
}
public function live\u datatable\u搜索(Request$Request)
{
如果($request->search)
{
$search=Adminuser::select('Adminuser.*','user\u type.name作为user\u type')
->orderBy('adminuser.user\u type\u id')
->leftJoin('user\u type'、'adminuser.user\u type\u id'、'='、'user\u type.id')
->其中('adminuser.full_name','like','%.$request->search'%'))
->orWhere('adminuser.username','like','%.$request->search'%'))
->orWhere('adminuser.email','like','%.$request->search'%'))
->get();
如果($search)
{
foreach($key=>$value搜索){
$trHTML+=“”;
$trHTML+=“”;
$trHTML+=“”+$value->full_name+“”;
$trHTML+=“”+$value->email+“”;
$trHTML+=“”+$value->user_type+“”;
$trHTML+=“”;
echo$trHTML;
}
}
}
}
为您的模式创建别名,并创建一个条件块
或where
。更改laravel查询,如下所示
$search = Adminuser::from("adminuser as au")
->leftJoin('user_type as ut', 'au.user_type_id', '=', 'ut.id')
->where(function($query) {
$query->orwhere('au.full_name', 'like', '%'. $request->search.'%');
$query->orWhere('au.username', 'like', '%'. $request->search.'%');
$query->orWhere('au.email', 'like', '%'. $request->search.'%');
})
->select('au.*', 'ut.name as user_type')
->orderBy('au.user_type_id')
->get();
你没问吗?诚然,终点是不同的,但问题是相同的。查看laravel Log请阅读-总结是,这不是解决志愿者问题的理想方法,可能会对获得答案产生反作用。请不要将此添加到您的问题中。@halfer…谢谢。。。我将在将来纠正自己@Rory McCrossan。。。哎。。。。还不能解决它:(好的,…我试着一步一步地然后…在@user2486之后给你反馈…每当我使用
Adminuser::all();
那就没问题了…没有错误…但是每当我添加另一个查询select,join,where
…它给出的errortable名称就可以了。还有其他问题吗?$users=DB::table('adminuser')->get();echo$users;
只需使用此选项,就可以删除与之无关的注释
$search = Adminuser::from("adminuser as au")
->leftJoin('user_type as ut', 'au.user_type_id', '=', 'ut.id')
->where(function($query) {
$query->orwhere('au.full_name', 'like', '%'. $request->search.'%');
$query->orWhere('au.username', 'like', '%'. $request->search.'%');
$query->orWhere('au.email', 'like', '%'. $request->search.'%');
})
->select('au.*', 'ut.name as user_type')
->orderBy('au.user_type_id')
->get();