如何将数据数组传递给控制器​​?

How to pass array of data to controller?

我是新来的:)。我的代码有问题。我正在使用 laravel 5.1 和 Blade。在我看来我有:

function getNumber(){
      values = [];
      values[0] = $('#receipt_type_id').val();
      values[1] = $('#provider_id').val();
      $.ajax({
          url: "{{{ url('receipts/showByNumber') }}}",            
          type: "get",              
          data: {ids: values},              
          dataType: "json",
          success: function (data) {
              //i do something
          }                  
      });
  }

在我的路线中:

Route::get('receipts/showByNumber', ['as' => 'receipt.showByNumber', 'uses' => 'ReceiptsController@showByNumber']);

在我的控制器中:

public function showByNumber($values){        
    $receipt_type_id = $values[0];
    $provider_id = $values[1];
    //Find the receipt to edit
    ...
    ...            
}

错误是GET http://manchego.app/receipts/showByNumber?ids%5B%5D=1&ids%5B%5D=2 500 (Internal Server Error)。我阅读了另一个与我有同样问题的主题,但我不明白我的问题在哪里。

提前致谢! :)

您可以键入提示 Request class(推荐):

public function showByNumber(\Illuminate\Http\Request $request)
{
    $allParams = $request->all(); // returns an array
    $provider_id = $request->get('provider_id');
}

或者您可以使用 Request 门面:

public function showByNumber()
{
    $allParams = \Request::all(); // returns an array
    $provider_id = \Request::get('provider_id');
}