1. 程式人生 > 其它 >laravel7 ajax H-ui框架新增資料至資料庫

laravel7 ajax H-ui框架新增資料至資料庫

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="&nbsp;&nbsp;提交&nbsp;&nbsp;"> </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'=>''];

    }