2016-12-14 156 views
0

我想从我的数据库中返回数据,但是它带有整个页面的HTML错误。为什么这样做?Laravel和AJAX不返回任何东西

.ajax()呼叫:

$.ajax({ 
    url: '{{ URL('reports/groupsUsersGet') }}', 
    dataType: "json", 
    data: { 
     group_id : $('#group').val(), 
    }, 
    success: function(data) { 
     alert(data); 
    }, 
    error: function (data) { 
     console.log('Error:', data); 
    } 
}); 

路线

Route::get('reports/groupsUsersGet', 
    array(
     'as' =>'groupsUsersGet', 
     'uses' => '[email protected]' 
    ) 
); 

视图(表)

{{ Form::select('grup',$group,null,['class'=>'form-control','id'=>'group']) }} 

控制器

$term = Input::get('group_id'); 
$results = array(); 
DB::table('users')->where('group', 'LIKE', '%'.$term.'%')->get(); 

foreach ($queries as $query) { 
    $results[] = [ 
     'id' => $query->id, 
     'value' => $query->nick 
    ]; 
} 

return Response::json($results); 
+1

什么是错误?你期待什么? – LorenzoBerti

+0

'$ query'从哪里来?你能指定它吗? –

+0

使用try and catch并告诉确切的错误你正在得到 –

回答

0

也发送csrf_token()作为数据。

$.ajax({ 
     url: '{{ URL('reports/groupsUsersGet') }}', 
     dataType: "json", 
     data: { 
     _token: <?php echo csrf_token();?>, 
      group_id : $('#group').val(), 
     }, 
     success: function(data) { 
      alert(data); 
     }, 
     error: function (data) { 
      console.log('Error:', data); 
     } 
     }); 
+0

groupsUsersGet:1061 Uncaught ReferenceError:XREXnSgsYpN3kJwjXGPguiJYZf6XIYxQa7YsYgDz没有被定义(...)当我抛出令牌部分没有它ajax错误给出状态:200和状态好(这意味着它通过)。 – OunknownO

+0

ya XREXnSgsYpN3kJwjXGPguiJYZf6XIYxQa7YsYgDz这是发送令牌的值。只需取得组id的值。 –

+0

欲了解更多请参阅这里http://dev.tutorialspoint.com/laravel/laravel_ajax.htm –

0

在我看来,你不是在@HikmatSijapati指定的请求中发送CSRF令牌。在Ajax请求,你可以通过CSRF令牌是这样的:

你可以,例如,存储在HTML元标记令牌:

<meta name="csrf-token" content="{{ csrf_token() }}"> 

然后,一旦你已经创建了meta标签,你可以指示像jQuery这样的库自动将标记添加到所有请求标头。这为您的基于AJAX的应用程序提供了简单,方便的CSRF保护:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 

希望这有助于您!

0

试试这个:

在你的控制器,你不能定义你的方法里面$queries变量。

ajax call

$.ajax({ 
    url: "{{ URL('reports/groupsUsersGet') }}", 
    method: 'GET', 
    dataType: "json",   
    data: { 
     group_id : $('#group').val(), 
    }, 
    success: function(data) { 
     alert(data); 
    }, 
    error: function (data) { 
     console.log('Error:', data); 
    } 
}); 

controller

$term = Input::get('group_id'); 
$results = array(); 
$queries = DB::table('users')->where('group', 'LIKE', '%'.$term.'%')->get(); 

foreach ($queries as $query) { 
    $results[] = [ 
     'id' => $query->id, 
     'value' => $query->nick 
    ]; 
} 

return Response::json(['results' => $results], 200); 
0

谢谢大家对你的帮助,但这个错误是在我不包括在控制器的顶部使用响应。当我这样做的时候,它工作。