【问题标题】:How to pass array of data to controller?如何将数据数组传递给控制器​​?
【发布时间】:2016-01-05 12:23:19
【问题描述】:

我是新来的 :)。我的代码有问题。我正在使用 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)。我阅读了另一个与我有同样问题的主题,但我不明白我的问题在哪里。

提前致谢! :)

【问题讨论】:

  • 您的 ajax 请求中的 url 属性看起来不正确。将三重大括号替换为双大括号。 url: {{ url('receipts/showByNumber') }}, 。您可以使用浏览器开发人员工具来检查您的应用发出的 HTTP 请求。用它来调试你的 AJAX 请求。

标签: ajax laravel get blade


【解决方案1】:

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

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');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-22
    • 2015-01-23
    • 2021-06-11
    • 1970-01-01
    • 2018-03-31
    • 2021-04-27
    • 2021-06-23
    • 2020-12-25
    相关资源
    最近更新 更多