2017-08-17 18 views
0

查看代碼:如何使用ajax post請求將模態值插入數據庫?

<div class="price"> 
<form name="priceform" > 
     <div class="modal fade" id="price"> 
     <div class="modal-dialog"> 
     <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal"><span 
     aria-hidden="true">×</span><span class="sr-only">Close</span> 
     </button> 
     <h4 class="modal-title">Selling Information</h4> 
     </div> 
     <div class="modal-body" id="modal-content">  
     <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
     <div class="row"> 
     <div class="col-sm-12"> 
     <b>Listing Information</b> 
     <h6>Seller SKU ID <a href="#" class='my-tool-tip' data- 
    toggle="tooltip" data-placement="right" title="Unique identifier 
    for the listings"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <input type="text" name="skuid" id="skuvalue" class="pricevalue"/> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <div class="row"> 
     <div class="col-sm-12"> 
     <b>Status Details</b> 
     <h6>Listing Status <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Inactive listings 
     are not available for buyers on Flipkart"> 
     <span class="glyphicon glyphicon-info-sign" 
     style="color:#337AB7"></span> 
     </a></h6> 
     <select id="dropDownId" name="listingStatus"> 
     <option selected disabled>--Choose here--</option> 
     <option value="Active">Active</option> 
     <option value="Inactive">Inactive</option> 
     </select> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <div class="row"> 
     &nbsp;&nbsp;&nbsp;&nbsp;<b>Price Details</b> 
     <div class="col-sm-12"> 
     <div class="col-sm-6"> 
     <h6>MRP <a href="#" class='my-tool-tip' data-toggle="tooltip" 
    data-placement="right" title="Maximum retail price of the 
     product"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <input type="text" name="mrp" id="mrpvalue" class="check-fill"/> 
     </div> 
     <div class="col-sm-6"> 
     <h6>Your Selling Price <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Price at which 
     you want to sell this listing"> 
     <span class="glyphicon glyphicon-info-sign" 
     style="color:#337AB7"></span> 
     </a></h6> 
     <input type="text" name="selprice" id="selpricevalue" 
     class="check-fill"/> 
     </div> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <div class="row"> 
     &nbsp;&nbsp;&nbsp;&nbsp;<b>Inventory Details</b> 
     <div class="col-sm-12"> 
     <div class="col-sm-6"> 
     <h6>Fulfilment By <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Fullfilment of 
      FA listings will be managed by Flipkart "> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <select id="5" name="fulfillment"> 
     <option selected disabled>Choose here</option> 
     <option value="Seller">Seller</option> 
     </select> 
     <br/> 
     <h6>Procurement SLA <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Time required 
     to keep the product ready for dispatch"> 
     <span class="glyphicon glyphicon-info-sign" 
     style="color:#337AB7"></span> 
     </a></h6> 
     <input type="text" name="sla" class="check-fill"/>Days 
     <br/> 
      <h6>Stock available for Buyers <a href="#" class='my-tool- 
     tip' data-toggle="tooltip" data-placement="right" title="Number 
    of items available for cutomer to buy after detecting pending 
    orders" > 
     <span class="glyphicon glyphicon-info-sign" style="color: 
    #337AB7"></span> 
     </a></h6> 
     <input type="text" name="available" readonly/> 
     </div> 
     <div class="col-sm-6"> 
     <h6>Procurement Type <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Information on 
     how the inventory is procured by the seller to fulfill an 
    order"> 
     <span class="glyphicon glyphicon-info-sign" 
      style="color:#337AB7"></span> 
     </a></h6> 
     <select name="procurementType"> 
     <option selected disabled>--Choose here--</option> 
     <option value="instock">instock</option> 
     </select> 
     <br/> 
     <h6>Stock <a href="#" class='my-tool-tip' data-toggle="tooltip" 
     data-placement="right" title="Number of items you have in 
     stock"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <input type="text" name="stock" /> 
     <br/> 
     </div> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <div class="row"> 
     &nbsp;&nbsp;&nbsp;&nbsp;<b>Delivery charge to customer</b> 
     <div class="col-sm-12"> 
     <div class="col-sm-4"> 
     <h6>Local Delivery Charge <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Delivery charge 
    you want charge a buyer in the same city for listings which are 
    not Flipkart Assured"> 
     <span class="glyphicon glyphicon-info-sign" 
    style="color:#337AB7"></span> 
     </a></h6> 
     <input type="text" name="local" /> 
     </div> 
     <div class="col-sm-4"> 
     <h6>Zonal Delivery Charge <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Delivery charge 
    you want charge a buyer in the same zone for listings which are 
     not Flipkart Assured"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <input type="text" name="zonal" /> 
     </div> 
     <div class="col-sm-4"> 
     <h6>National Delivery Charge <a href="#" class='my-tool-tip' 
     data-toggle="tooltip" data-placement="right" title="Delivery 
     charge you want charge a buyer outside your zone for listings 
     which are not Flipkart Assured"> 
     <span class="glyphicon glyphicon-info-sign" 
     style="color:#337AB7"></span> 
     </a></h6> 
     <input type="text" name="national" /> 
     </div> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <div class="row"> 
     &nbsp;&nbsp;&nbsp;&nbsp;<b>Packaging Details</b> 
     <div class="col-sm-12"> 
     <div class="col-sm-3"> 
     <h6>Package Weight <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Weight of the 
      final package in kgs"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
    #337AB7"></span> 
     </a></h6> 
     <input type="text" name="weight" />Kgs 
     </div> 
     <div class="col-sm-3"> 
     <h6>Package Length <a href="#" class='my-tool-tip' data- 
      final package in cms"> 
     <span class="glyphicon glyphicon-info-sign" 
     style="color:#337AB7"></span> 
     </a></h6> 
     <input type="text" name="length" />cms 
     </div> 
     <div class="col-sm-3"> 
     <h6>Package Breadth <a href="#" class='my-tool-tip' data- 
     toggle="tooltip" data-placement="right" title="Breadth of the 
     final package in cms"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <input type="text" name="breadth" />cms 
     </div> 
     <div class="col-sm-3"> 
     <h6>Package Height <a href="#" class='my-tool-tip' data- 
      toggle="tooltip" data-placement="right" title="Height of the 
     final package in cms"> 
     <span class="glyphicon glyphicon-info-sign" 
     style="color:#337AB7"></span> 
     </a></h6> 
     <input type="text" name="height" />cms 
     </div> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <div class="row"> 
     <div class="col-sm-12"> 
     <b>Tax Details</b> 
     <h6>HSN <a href="#" class='my-tool-tip' data-toggle="tooltip" 
      data-placement="right" title="code of your product for 
    determining applicable tax rates"> 
     <span class="glyphicon glyphicon-info-sign" style="color: 
     #337AB7"></span> 
     </a></h6> 
     <input type="text" name="hsn" /> 
     <a href="#">Find relevant HSN codes</a> 
     </div> 
     </div> 
     <br/> 
     <br/> 
     <input type="submit" id="priceSave" class="save" value="Save" 
     style="border-radius: 8px; padding: 5px 15px; "> 
</form> 
</div> 
<div class="modal-footer"> 
    <button type="button" class="btn btn-info" data- 
    dismiss="modal">Close</button> 
    <!--<button type="submit" id="priceSave" class="save" 
    style="border-radius: 8px; padding: 5px 15px; 
     display:none;">Save</button>--> 
</div> 

<div> 
<!-- /.modal-content --> 
</div> 
<div> 
<!-- /.modal-dialog --> 
</div> 

這是我的引導modal.I需要將這些表單值添加到數據庫。對此,我一直在使用ajax發佈請求。問題是,如果我評論了表單標記,則url重定向適用於ajax發佈請求。但是由於表單的評論而未添加的值。但是,如果包括在內,則不會發生插入。

腳本代碼:

<script src = 
"https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> 
</script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 
$("#priceSave").click(function(){ 
$.ajax({ 
    url: 'addPriceDetails/{{$dataId}}', 
    type: "post", 
    /*success:function(data) { 
    alert(data); 
    }*/       
}); 
}); 
}); 
</script> 

這是我已經嘗試了劇本。

ROUTE CODE:

Route::post('addPriceDetails/{dataId}','[email protected]'); 

控制器:

public function addPriceDetails(Request $priceform,$dataId) 
{ 
//echo ("1234"); 
$priceInfo = new priceInfo ; 
$priceInfo->deviceCategoryId=$dataId; 
$priceInfo->productId=$this->getproductId(); 
$priceInfo->SKUID =$priceform->input('skuid'); 
$priceInfo->listingStatus =$priceform->input('listingStatus'); 
$priceInfo->MRP =$priceform->input('mrp'); 
$priceInfo->sellingPrice=$priceform->input('selprice'); 
$priceInfo->fulfillmentBy =$priceform->input('fulfillment'); 
$priceInfo->procurementType =$priceform->input('procurementType'); 
$priceInfo->procurementSLA =$priceform->input('sla'); 
$priceInfo->stock =$priceform->input('stock'); 
$priceInfo->localDelCharge =$priceform->input('local'); 
$priceInfo->zonalDelCharge =$priceform->input('zonal'); 
$priceInfo->nationalDelCharge=$priceform->input('national'); 
$priceInfo->packWeight =$priceform->input('weight'); 
$priceInfo->packLength =$priceform->input('length'); 
$priceInfo->packBreadth =$priceform->input('breadth'); 
$priceInfo->packHeight =$priceform->input('height'); 
$priceInfo->HSN =$priceform->input('hsn'); 

$priceInfo->save(); 

//echo($priceInfo->SKUID); 
return Redirect::back()->with('SKUID',$priceInfo->SKUID)- 
>with('listingStatus',$priceInfo->listingStatus)- 
>with('MRP',$priceInfo->MRP)->with('sellingPrice',$priceInfo- 
>sellingPrice); 
} 

這裏是控制器代碼,以插入模態值到分貝,也在一定值的重定向到視圖

回答

1

您的Javascript未從窗體發送任何數據。你需要收集,並在你的AJAX調用後它,就像這樣:

在JavaScript

$("#priceSave").click(function(e){ 
    e.preventDefault(); 
    var data = $('form').serialize(); 
    $.ajax({ 
     url: 'addPriceDetails/{{$dataId}}', 
     type: "post", 
     data: data, 
     dataType: 'json', 
     success: function(response) { 
      alert(response.SKUID); 
     } 
    }); 
}); 

在控制器

public function addPriceDetails(Request $priceform,$dataId) { 
    // ... all your code 
    return response()->json([ 
     'SKUID' => $priceInfo->SKUID, 
     'listingStatus' => $priceInfo->listingStatus 
     // ... any other fields you want to return 
    ]); 

我不知道爲什麼你想返回你剛剛發回的一些字段。返回操作的結果會更有意義,例如成功或錯誤,然後將其顯示在前端。

+0

好極了!現在它可以保存在db.But中,但不會重定向值 –

+0

'不重定向值 - 這是什麼意思,會發生什麼?你的Javascript中有'dataType:'json''嗎? –

+0

現在它保存到db.BUT重定向它甚至不顯示警告框 –

1

嘗試下面的代碼addPriceDetails()方法。這不是解決方案。

. 
. 
. 
$priceInfo->save(); 
if(!$priceInfo){ 
    App::abort(500, 'Error'); 
} 
else { 
    return Redirect::back()->with('SKUID',$priceInfo->SKUID)->with('listingStatus',$priceInfo->listingStatus)->with('MRP',$priceInfo->MRP)->with('sellingPrice',$priceInfo->sellingPrice); 
} 
+0

是啊,好,我會盡量 –

+0

我tried.It重定向到該頁面 –

+0

這意味着,記錄成功插入,檢查和你的數據庫表 –

相關問題