2017-09-09 54 views
0

(1/1) ErrorException Argument 2 passed to App\Http\Controllers\priceDetails::finalSubmit() must be an instance of Illuminate\Http\Request, none given如何在laravel中傳遞多個表單作爲參數?

錯誤我正在通過控制器功能傳遞多個參數。

Ajax代碼:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#finalSubmit').click(function() { 
     var form1 = $('#priceform').serialize(); 
     var form2 = $('#formdescription').serialize(); 
     var form3 = $('#additionaldescription').serialize(); 
     $.ajax({ 
     url:"{{url('dbvalue')}}", 
     type: 'GET', 
     data: {form1: form1, form2: form2, form3: form3}, 
     dataType:'json', 
     success:function(data){ 
      alert(data); 
     } 
     }); 
    }); 
    }); 
</script> 

Laravel路線:

Route::get('dbvalue','[email protected]'); 

控制器:

public function finalSubmit(Request $priceform,Request $formdescription) 
{  
    $var1 = $this->addPriceDetails($priceform); 
    $var2 = $this->addProductDetails($formdescription); 
    $var3 = $this->addAdditionalInformation($additionaldescription); 
    $var4 = $this->addImages($imagesform); 
    echo("success"); 
} 

這就是我想給在laravel控制器功能多形式參數。

addPriceDetails FN:

public function addPriceDetails(Request $priceform) 
{ 
$priceInfo = new priceInfo ; 

$priceInfo->id=$this->getpriceDetailsId(); 
$priceInfo->SKUID=$priceform->input('skuid'); 
$priceInfo->deviceCategoryId=$priceform->input('dataId'); 
    $id=$priceInfo->id; 
    $priceInfo->save(); 


    return response()->json([ 
    'SKUID' => $priceInfo->SKUID, 
    'sellingPrice' => $priceInfo->sellingPrice, 
    'id' =>$this->getpriceDetailsId() 
    ]); 

} 

回答

1

你所試圖做的根本不起作用。僅僅因爲你在你的中發送了兩個表格的數據1 ajax請求並不意味着laravel會將它作爲兩個請求來表示。這根本不可能。

你在代碼中做了什麼就是從3個表單獲取數據並從它們中創建一個json對象併發送該json對象1獲取請求。您不能在1個請求中發送多個請求。這是最基本的。

獲得您想要的結果的最佳方法是接受您的控制器中的1個請求對象並解析它以從您發送的多個表單中獲取數據。

+0

好sir.Understood概念現在 –

+0

威爾你請告訴我如何解析它 –

+0

s ir ............. –

1

你需要讓你的功能

public function finalSubmit(Request $request) 
{  
    $var1 = $this->addPriceDetails($request->form1); 
    $var2 = $this->addProductDetails($request->form2); 
    $var3 = $this->addAdditionalInformation($request->form3); 
    //$var4 = $this->addImages($imagesform);//you dont't have $imagesform 
    return response()->json(["response"=>"success"]); 
} 

而且改變HTTP動詞從GETPOST

type: 'POST', //in ajax, it is good send bulk data in post not in get 

在路線

Route::post('/dbvalue','[email protected]'); 
+0

ok先生,我會做更改並讓您知道 –

+0

需要將其更改爲「POST」 –

+0

將郵件中的批量數據發送給獲取 – C2486

相關問題