2017-08-31 17 views
0

私は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

答えて

0

私は気づいたあなたのコード内のいくつかの問題があります。

  1. ->get;はJSONに数値を変換しようとすると問題があるかもしれませんget();
  2. でなければなりませんが。
  3. ajaxメソッドではtotal_pointsを参照していますが、どこにも定義されていません。

にあなたのコントローラメソッドを変更してみてください:希望このことができます

$.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); 
    } 
}); 

:に

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の方法!

+0

あなたは私の日を救った – user3721008

関連する問題