以下是路线:
$router->get('/securityquestionlist', [ 'as'=> 'SecurityQuestionListIndexRoute', 'uses'=> 'SecurityQuestionListController@index']);
我在控制器类中有以下操作:
public function index()
{
$model = new SecurityQuestionListModel();
$data = $model->select('question','created_at', 'updated_at', 'status')->where('status', 1)
->orderBy('created_at', 'desc')
->paginate(3);
if(Request::ajax()){
return response()->json(['rData' => $data]);
}else{
return view('securityquestionlist.index' /* ,['rData'=> $data]*/ );
}
以下是Ajax代码:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#IdSQLTable').DataTable({
'ajax' : 'http://localhost:9901/securityquestionlist',
'cache' : false
});
} );
</script>
我从服务器收到以下AJAX响应:
{"rData":{}}
有些人可以指导我,在AJAX的情况下为什么$ data值没有从服务器返回。如果我禁用ajax并加载普通页面,则在客户端接收值,并且表行填充数据。现在我已经在以下文章中发表了评论:
return view('securityquestionlist.index' /* ,['rData'=> $data]*/ );
答案 0 :(得分:2)
您认为必须使用data
toArray()
转换为数组
$rData = $data->toArray();
使用
发送回复return response()->json(['rData' => $rData]);