laravel AJAX功能没有返回值

问题描述:

你好我工作的laravel并试图使一个AJAX动作laravel AJAX功能没有返回值

function jsfunctionrr(value){ 
    var value_parts = value.split("+"); 
    $.ajax({ 
    type: 'POST', 
    url: '/getpoinsts', 
    data: { 
     '_token': $('input[name=_token]').val(), 
     'name': value_parts[1] 
    }, 
    success: function (data) { 
     $('#pointsValue').append(total_points); 
    } 
}); 

和控制器功能

public function getpoinsts(Request $request) 
{ 
    $user_points_parts = DB::table('clients_points')->where('user_id', $request->name)->get; 
    $total_points = 0; 

    foreach ($user_points_parts as $points_part) { 
     $total_points += $points_part->points; 
    } 

    return response()->json($total_points); 
} 

和路线

Route::post('/getpoinsts', '[email protected]'); 

但我没有得到任何值的价值知道为什么?

+0

您是否尝试在您的AJAX调用中添加“错误”函数以查看您的调用是否不成功? –

+0

你至少得到200回应吗? –

+0

我该怎么做 – user3721008

有代码中的一些问题,我注意到:

  1. ->get;应该get();
  2. 有可能是一个问题,试图将数字转换成JSON。
  3. 在您引用total_points的ajax方法中,它没有在任何地方定义。

试着改变你的控制器方法:

public function getpoinsts(Request $request) 
{ 
    $total_points = DB::table('clients_points')->where('user_id', $request->name)->sum('points'); 

    return response()->json(compact('total_points')); 
} 

和你的Ajax方法:

$.ajax({ 
    type: 'POST', 
    url: '/getpoinsts', 
    data: { 
     '_token': $('input[name=_token]').val(), 
     'name': value_parts[1] 
    }, 
    dataType: 'json', 
    success: function (data) { 
     $('#pointsValue').append(data.total_points); 
    } 
}); 

希望这有助于!

+0

它的工作 你救了我的一天 – user3721008