laravel7 ajax H-ui框架新增資料至資料庫
阿新 • • 發佈:2021-11-17
1:定義路由:
//租房 Route::resource('house','fang\FangattrController');
2:控制器訪問前端框架:
public function create() { //前端新增頁面 return view('house.create'); }
3:HTML頁面程式碼:
<form class="form form-horizontal" id="form-article-add" > <div class="row cl"> <label class="form-label col-xs-4 col-sm-3">是否頂級:</label> <div class="formControls col-xs-8 col-sm-9"> <span class="select-box"> <select class="select" size="1" name="pid" id="pid"> <option value="" selected>__請選擇__</option> <option value="1" selected>選單</option> <option value="0" selected>頂級</option> </select> </span> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>欄位名</label> <div class="formControls col-xs-8 col-sm-9"> <input type="text" class="input-text" value="" placeholder="" id="field_name" name="field_name"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-2">屬性名稱:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="text" class="input-text" value="0" placeholder="" id="name" name="name"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-2">圖示:</label> <div class="formControls col-xs-8 col-sm-9"> <div id="picker">上傳文章封面</div> </div> <div class="formControls col-xs-4 col-sm-4"> <input type="hidden" value="{{ config('up.pic') }}" name="icon" id="icon"/> <img src="{{ config('up.pic') }}" id="pic" name="icon" style="width: 50px;"> </div> </div> <div class="row cl"> <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3"> <input class="btn btn-primary radius" type="submit" value=" 提交 "> </div> </div> </form>
<script type="text/javascript"> //表單驗證通過傳送ajax $("#form-article-add").validate({ submitHandler:function(form){ //獲取父級名稱的值 var pid=$("#pid").val(); //獲取圖示的值 var icon=$("#icon").val(); //獲取欄位名的值 var field_name=$("#field_name").val(); //獲取屬性名稱的值 var name=$("#name").val(); //傳_token,防止報419錯誤 var _token="{{csrf_token()}}" $.ajax({ //網址 url:"{{url('house')}}", //傳送的資料 data:{ field_name:field_name, name:name, _token:_token, pid:pid, icon:icon }, //返回的資料型別 dataType:"JSON", //傳送的方式 type:'POST', //返回結果 success:function (res){ if (res.code==200){ layer.msg(res.message, {icon: 1, time: 1000}); location.href='/house'; }else{ layer.msg(res.message, {icon: 5, time: 1000}); } } }) } }); </script>
4:控制器程式碼:
public function store(Request $request) { //接受ajax發過來的資料 $data=$request->except('_token'); // 新增入庫 $res=Fangattr::insert($data); // 返回三要素 if ($res!==false){ return ['code'=>200,'message'=>'新增成功','data'=>$data]; } return ['code'=>500,'message'=>'新增失敗','data'=>'']; }