【问题标题】:How to pass post parameter from laravel route to axios in vue js?如何将来自laravel路由的post参数传递给vue js中的axios?
【发布时间】:2021-07-16 13:25:57
【问题描述】:

我需要将这些参数 data_from 和 data_to 传递给 axios 调用,但它不起作用。我做错了什么?响应未定义。

控制器:

class PaymentController extends Controller 
    {
        public function apiPaymentByUserId(Request $request) { 
    
    
            $data_from = $request -> data_from;
            $data_to = $request -> data_to;
    
            $payments = DB::table("casefiles, payments")
                ->select("payments.*")
                ->where("casefiles.id", "=", 'payments.casefile_id')
                ->where("casefiles.user_id", "=", Auth::id())
                ->where("payments.created_at", ">=", $data_from)
                ->where("payments.updated_at", "<=", $data_to)
                ->get();
    
                
                return response()->json([ 
                    'success' => true, 
                    'response' => $payments 
                ]);
        
        }
    }

路线:

Route::post('/payments', 'Api\PaymentController@apiPaymentByUserId');

用vue js调用axios:

axios.post('/payments', {
    
    params: {

        data_from: this.data_from,
        data_to: this.data_to

    }
})

【问题讨论】:

    标签: laravel vue.js axios


    【解决方案1】:

    你的 axios 代码是

    axios.post('/payments', {
        
        params: {
    
            data_from: this.data_from,
            data_to: this.data_to
    
        }
    })
    

    如果你在控制器中dd($request-&gt;all()),你会得到低于输出

    array:1 [
      "params" => array:2 [
        "data_from" => ""
        "data_to" => ""
      ]
    ]
    

    所以要像下面这样获取个人

    $request->params['data_from']
    

    所以最好像下面这样在 axios 中传递数据

    axios.post('/payments', {
    
            data_from: this.data_from,
            data_to: this.data_to
    })
    

    这样你就可以获取

    $request->data_from
    

    参考:https://github.com/axios/axios

    【讨论】:

      【解决方案2】:

      改一下

                  $data_from = $request -> $data_from;
                  $data_to = $request -> $data_to;
      

      为此

                  $data_from = $request->data_from;
                  $data_to = $request->data_to;
      

      【讨论】:

        【解决方案3】:

        尝试像$data_from = $request-&gt;data_from;这样访问路由参数

        【讨论】:

          猜你喜欢
          • 2018-08-14
          • 2018-06-20
          • 1970-01-01
          • 2018-06-20
          • 2019-03-03
          • 2016-07-01
          • 2019-08-07
          • 2020-03-22
          • 1970-01-01
          相关资源
          最近更新 更多