将数据从控制器返回到ajax laravel

时间:2017-10-26 12:07:57

标签: php ajax laravel-5

我想在插入新行时显示通知。我已通过以下代码实现了此功能, 的的Ajax

<script>

    var old_count = 0;
    var i=0;
    setInterval(function(){    
    $.ajax({

    url : "shownotify",
    success : function(data){
    if (data > old_count) 
    { 
        if (i == 0)
        {old_count = data;} 
        else{
        $('#notify').html("New user");
        old_count = data;
        }
    } i=1;
 }
});
},1000);                                
        </script>

现在我想显示我从控制器返回的新用户数

public function shownotify()
{
     $action=DB::table('users')->where('admin_action_at', 'null')->count();
     $data=Move::count();

    return compact('action', 'data');

}

如何在ajax函数中获取它?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您需要传递数组$data,但是您传递的是字符串。

public function shownotify()
{
     $action=DB::table('users')->where('admin_action_at', 'null')->count();
     $data=Move::count();

    $return_array = compact('action', 'data');
    return json_encode($return_array);

}

在你的ajax成功回调函数中稍作修改,如:

success : function(data){
if (data.data > old_count) 
{ 
    if (i == 0)
    {old_count = data.data;} 
    else{
    $('#notify').html(data.data + "New user");
    old_count = data.data;
    }
} i=1;