2016-03-05 62 views
0

我在使用laravel時通過使用serialize()函數將數據從我的視圖中傳遞給我的控制器來實現數據插入時遇到了麻煩。我剛開始玩弄laravel,但現在我正在堆疊在此上。乞求某人幫助我解決這個問題。非常感謝。以下是我的代碼。如何使用ajax serialize()函數在laravel 5.2中插入數據?

產品形態

<form class="form-horizontal prod-form" id="prod-form" style="background-color: #e2e2e2;" method="post" enctype="multiprodt/form-data"> 
      <fieldset> 

      <div class="alert alert-dismissable alert-success alert-add-success"> 
       <button type="button" class="close" data-dismiss="alert">×</button> 
       <center><h4>Data successfully saved.</h4></center> 
      </div> 

      <address></address> 

      <input type="hidden" name="prod_id" class="prod_id" id="prod_id" value=""> 
      <input type="hidden" name="_token" value="<?= csrf_token(); ?>"> 

      <div class="form-group"> 
       <label for="inputActivity" class="col-lg-2 control-label">Product Name</label> 
       <div class="col-lg-10"> 
       <input type="text" class="form-control" name="prod[pharmaceutical]" id="inputPharmaceutical" placeholder="Product name" value="" style="width:260px;height:40px;" onchange="" required> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="inputActivity" class="col-lg-2 control-label">Description</label> 
       <div class="col-lg-10"> 
       <input type="text" class="form-control" name="prod[description]" id="inputDescription" placeholder="Description" value="" style="width:260px;height:40px;" onchange="" required> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="inputActivity" class="col-lg-2 control-label">Unit</label> 
       <div class="col-lg-10"> 
       <input type="text" class="form-control" name="prod[unit]" id="inputUnit" placeholder="Unit" value="" style="width:260px;height:40px;" onchange="" required> 
       </div> 
      </div> 


      <div class="form-group"> 
       <label for="inputVenue" class="col-lg-2 control-label">Price</label> 
       <div class="col-lg-10"> 
       <input type="text" class="form-control" name="prod[price]" id="inputPrice" placeholder="Price" value="" style="width:260px;height:40px;" required> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="inputSponsors" class="col-lg-2 control-label">Quantity</label> 
       <div class="col-lg-10"> 
       <input type="text" class="form-control" name="prod[quantity]" id="inputQuantity" placeholder="Quantity" value="" style="width:260px;height:40px;" required> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="inputSponsors" class="col-lg-2 control-label">Amount</label> 
       <div class="col-lg-10"> 
       <input type="text" class="form-control" name="prod[amount]" id="inputAmount" placeholder="Amount" value="" style="width:260px;height:40px;" required> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="col-lg-10 col-lg-offset-2"> 
       <button class="btn btn-primary submit-prod">Submit</button> 
       <button class="btn btn-default">Cancel</button> 
       </div> 
      </div> 

      </fieldset> 
     </form> 

JavaScript函數提交按鈕被點擊

<script type="text/javascript"> 

$(".submit-prod").click(function(e){ 

e.preventDefault(); 

    var button_text = $(this).text(); 

    alert($("#prod-form").serialize()); 

    $.post("{{ url('/addprod') }}",$("#prod-form").serialize(),function(data){ 

     if(data.notify == "Success"){ 
     console.log(data.notify); 
     } 

    },"json"); 

    }); //end 

</script> 

Route.php

Route::group(['middleware' => 'web'], function() { 

Route::post('addprod', 'Product\[email protected]'); 

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

}); 

ProductController.php

<?php 

namespace App\Http\Controllers\Product; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use App\Product\Product as Product; 

class ProductController extends Controller 
{ 

/** 
* Show the application dashboard. 
* 
* @return \Illuminate\Http\Response 
*/ 
public function index() 
{ 
    return view('home'); 
} 


public function create(){ 

} 

public function store(Request $request){ 

    //$product = new Product; 

    $prod_details = $request->all(); 

    $query = Product::create($prod_details); 

     if($query){ 
     $notification = "Success"; 
     } else{ 
     $notification = "Failed"; 
     } 

     echo json_encode(array('notify'=>$notification)); 


    } 


} 

型號:Product.php

<?php 

namespace App\Product; 

use Illuminate\Database\Eloquent\Model; 

class Product extends Model 
{ 
    // 
} 

樣品輸入: enter image description here

錯誤輸出:

enter image description here

+0

你也上傳任何文件? – Siddharth

+0

沒有先生。它只是所有用戶輸入的文本 – Eli

回答

1

那麼問題是csrf令牌請用戶表單助手類聲明你的表單或聲明令牌。否則,你將花千年來解決你的問題

相關問題