AJAX响应变量未定义

时间:2019-02-03 09:10:37

标签: php ajax laravel

我已提出AJAX请求,并尝试将结果显示为HTML。

我的控制器:

public function searchByRange(Request $request)
{
    $query = DB::table('visitors')         
        ->where('id','=',$request->id)
        ->where('visitors.user_id','=',Auth::user()->id)                
        ->whereBetween('visitors.created_at', array($request->first_date, $request->second_date) );        
        $visitors = $query->get();    
        return view('analytics.analytics-range',['visitors' => $visitors]); 
    }

我的AJAX部分:

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

$.ajax({
    type: "post",
    url: "{{url('searchByRange')}}",
    dataType: 'html',
    data: 
    { 
        first_date : first_date, 
        second_date : second_date,  
        id : id                     
    },
    success: function(html)
    {
        $(".date-range").html(html)
    }
});

但是问题是控制台中的ajax响应是

  

ErrorException(E_ERROR)未定义变量:访问者

那可能是什么错误?

1 个答案:

答案 0 :(得分:0)

尝试将您的控制器功能更改为:

public function searchByRange(Request $request)
{
    $visitors = DB::table('visitors')           
       ->where('id','=',$request->id)
       ->where('visitors.user_id','=',Auth::user()->id)               
       ->whereBetween('visitors.created_at', array($request->first_date, $request->second_date))
       ->get();        

    return view('analytics.analytics-range',['visitors' => $visitors]); 
}