簡體   English   中英

Laravel 6 錯誤 - 未定義屬性:App\Http\Controllers\GetContentController::$request

[英]Laravel 6 Error - Undefined property: App\Http\Controllers\GetContentController::$request

我正在嘗試通過 Ajax 請求發送表單數據,包括沒有form標簽的文件(如果有)。 但是,我收到以下錯誤消息

Undefined property: App\Http\Controllers\GetContentController::$request

這是我的代碼

Controller

public function GetContentController($params){
    


$CandidateFullName = $this->request->CandidateFullName;

$CandidateLocation=$this->request->CandidateLocation;

//inserted into database after validation and a json object is sent back

Web.php

Route::match(['get', 'post'], '{controller}/{action?}/{params1?}/{params2?}', function ($controller, $action = 'index', $params1 = '',$params2 = '') {
    $params = explode('/', $params1);
    $params[1] = $params2;
    $app = app();
    $controller = $app->make("\App\Http\Controllers\\" . ucwords($controller) . 'Controller');
    return $controller->callAction($action, $params);
})->middleware('supadminauth');



<input type="text" id="CandidateFullName" name="CandidateFullName" class="form-control">

<input type="text" id="CandidateLocation" name="CandidateLocation" class="form-control">
<button id="final_submit">Submit</button>

<script>

$('#final_submit').click(function(e){
e.preventDefault();

var  data = {};
     data['CandidateFullName']= $('#CandidateFullName').val();
     data['CandidateLocation']=$('#CandidateLocation').val();
submitSaveAndNext(data)

});

function submitSaveAndNext(data){ 
    //console.log(data);
    $.ajaxSetup({
      headers: {
        'X-CSRF-TOKEN': '{{csrf_token()}}'
      }
    }); 


 $.ajax({
            type    : "POST", 
            url : '{{url("GetContent/submitContent")}}', //GetContentController ,but without Controller in the end
            dataType  : "json",
            contentType : "application/json",
            data    : JSON.stringify(data),
            success   : function(response){
               
              //console.log("response ",response);
              if(response.message=="success"){ 
                swal({
                    title:"Success",
                    type: "success",
                });
              }else{
                swal({
                  title:"Sorry! Unable to save data",
                  type:"warning"
                })
              }
            },
            error:function(xhr, status, error){
                
                swal({
                  title:"Sorry! Unable to save data",
                  type:"warning"
                })
            }
          }) //ajax ends

我不認為 laravel 中的 controller 實例具有具有請求實例的屬性,您必須鍵入提示才能獲得請求的 object

public function GetContentController($params) {

  // $this->request is the issue
  $CandidateFullName = $this->request-> CandidateFullName;

  $CandidateLocation = $this->request->CandidateLocation;

}

因此,您可以嘗試以下任一解決方案

// make sure include the Request class into your controller namespace
public function GetContentController($params, Request $request) {
    
  $CandidateFullName = $request->input('CandidateFullName');
        
  $CandidateLocation = $request->input('CandidateLocation');
        
}

或使用助手 function 請求

public function GetContentController($params) {
      
    $CandidateFullName = request('CandidateFullName');
  
    $CandidateLocation = request('CandidateLocation');
    
 }

這些鏈接將幫助您獲得更多詳細信息:

https://laravel.com/docs/8.x/requests#accessing-the-request https://laravel.com/docs/5.2/helpers#method-request

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM