php – Laravel 5.1:Ajax数据没有从服务器接收

以下是路线:

$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]*/ );

解决方法:

认为你必须使用toArray()将数据转换为数组

$rData = $data->toArray();

使用发送响应

return response()->json(['rData' => $rData]);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...