从控制器视图和变量返回到js

时间:2017-09-14 09:04:36

标签: javascript laravel view controller return

VersusController@show我返回视图:

public function show(Request $request)
{
    return view('versus.results', compact('common_matches'));
}

然后我将此视图添加到表#results:

$('#manager1_id,#manager2_id').on('change', function() {

      $.ajax({
          type    : 'GET',
          url     : '{{action('VersusController@show')}}',
          data:{
              manager1_id    :   $('#manager1_id').val(),
              manager2_id    :   $('#manager2_id').val()
          },
          success: function(data) {
              $("#results").find('tbody').empty().append(data);
          }
      });

  } );

如何从控制器视图和变量返回到JS?像这样:

return [view('versus.results', compact('common_matches')),  $variable1, $variable2, ...];

1 个答案:

答案 0 :(得分:0)

你可以像这样返回一个json:

return response()->json(['html' => view('versus.results',compact('common_matches'))->render(), 'variableX' => $variableX]);

所以更新你的js: $('#manager1_id,#manager2_id')。on(' change',function(){

  $.ajax({
      type    : 'GET',
      url     : '{{action('VersusController@show')}}',
      data:{
          manager1_id    :   $('#manager1_id').val(),
          manager2_id    :   $('#manager2_id').val()
      },
      dataType: 'json'
      success: function(data) {
          $("#results").find('tbody').empty().append(data.html);
          var variableX = data.variableX;
          //do stuffs
      }
  });

});