如何在laravel中的编辑表单视图中进行ajax调用

时间:2018-04-17 05:12:41

标签: ajax laravel-5

我创建了一个用于编辑来自db的记录的表单,有不同的时间段,我想为他们制作删除功能,所以我做了一个ajax调用,但我在网址www.hostname.com/dental/public/admin中感到困惑/ managingchedule / 1 / api / ajax 404(未找到) 如何在laravel编辑表单中调用ajax 这就是我所做的:

@extends('admin.layouts.app_inner')
@section('htmlheader_title')
Home
@endsection
@section('content') 
@if (count($errors))

@foreach($errors->all() as $error)

<div class="alert alert-danger"><i class="fa fa-fw fa-close"></i> {{ $error }}</div>
@endforeach
@endif

@if ($message = Session::get('success'))
<div class="alert alert-success alert-dismissible">
    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
    <h4><i class="icon fa fa-check"></i>Success</h4>
    {{ $message }}
</div>

@endif
<div class="box box-info">
    <div class="box-header with-border">
        <h3 class="box-title text-green"><b>Add Schedule</b></h3>
    </div>
    <!-- /.box-header -->
    <!-- form start -->

    <div class="box-body">
        {!! Form::model($doctors, ['method' => 'PATCH','route' => ['manageschedule.update', $doctors->doctor_id],'class' => 'form-horizontal','files'=>true]) !!}

        <div class="form-group">
            <label class="col-md-3 control-label">  Select Doctor :</label>
            <div class="col-md-5">
                <select class="form-control" required name="doctor_name">
                    <?php $results = DB::select(DB::raw("SELECT day FROM schedule_times where doctor_id='" . $doctors->doctor_id . "' Order BY id DESC  ")); ?>

                    <option value="{{$doctors->doctor_name}}" SELECTED="YES">{{$doctors->doctor_name}}</option>                 

                </select>
            </div>
        </div>

        <div class="form-group">
            <label class="col-md-3 control-label" required> Day :</label>
            <div class="col-md-5">
                <div class="md-checkbox-inline">


                    <?php $day = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'); ?>           
                    @foreach($day as $days)

                    <input  name="day[]" value="<?php echo $days; ?>" type="checkbox" class="md-checkbox" <?php
                                                                                foreach ($results as $row) {
                                                                                    if ($row->day == $days) {
                                                                                        echo 'checked="checked"';
                                                                                    } else {

                                                                                    }
                                                                                }
                                                                                ?> >
                    <label for="checkbox7"> <?php echo $days; ?> </label> 
                    @endforeach



                </div>
            </div>
        </div>
 <?php  foreach ($results as $row) { $d=$row->day;} 
 $result= DB::select(DB::raw("SELECT * FROM schedule_times where doctor_id='" . $doctors->doctor_id . "' And day='".$d."'  ")); 

?>

       <div class="form-group">
            <label class="col-md-3 control-label" required>Time slots</label>
            <div class="col-md-6">
                <table class="table table-bordered" id="employee_table" width="50%" >
                    <th>Start Time</th>
                    <th>End Time</th>
                    <th>Manage</th>
                                        <?php foreach ($result as $key=>$vari) {

                                           $id = $vari->id;

                                            ?>

                                            <tr id="row1">

                                                <td><div class="input-group ">
                                <input type="text" class="form-control"  id="time" placeholder="Start Time" name="s_time[]" value="<?php echo $vari->start_time; ?>" >
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-time"></span>
                                </span>
                            </div></td>


                            <td><div class="input-group ">
                                <input type="text" class="form-control"  id="time1" placeholder="Start Time" name="e_time[]" value="<?php echo $vari->end_time; ?>" >
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-time"></span>
                                </span>
                            </div></td>


                             <?php if ($key == 0) { ?>
                                                    <td><input type='button' class='fa fa-plus fa-4 btn btn-primary' value='DELETE'  disabled></td>

    <?php } else { ?>
                                                    <td><span class='delete' id='del_<?php echo $id; ?>'><input type='button' class='fa fa-plus fa-4 btn btn-primary' value='DELETE' id='del_<?php echo $id; ?>' ></td>
                                                            </tr>
                                                        <?php }
                                                    }
                                                    ?>
                                                    </table>
                                                    <a type="button" onclick="add_rows();"  class="fa fa-plus-circle btn btn-primary"> Add More Time Slots</a>


                                                    </div>
                                                    </div>



        <div class="form-group">
            <label class="col-md-3 control-label"> Per Patient Time :</label>
            <div class="col-md-5">
                <div class=" input-daterange">
                    <input type="text" name="p_time" class="form-control" placeholder="Set per patient time" id="time1" value="<?php 
                 echo $result[0]->p_time;  ?>">

                    <span class="help-block"> You can set only minute </span>
                </div> 
            </div>
        </div>

        <div class="form-group">
            <label class="col-md-3 control-label">Visibility :</label>
            <div class="col-md-5">
                <input type="radio" id="checkbox2_5" value="Yes"  name="visible" class="md-radiobtn" <?php 
                foreach($result as $check)
                {  
                if($check->visibility=='Yes'){  echo 'checked="checked"';}else{}
                } ?> >
                <label for="checkbox2_5"> Yes </label>

                <input type="radio" id="checkbox2_10" value="No" name="visible" class="md-radiobtn" <?php foreach($result as $check)
                {  
                if($check->visibility=='No'){  echo 'checked="checked"';}else{}
                } ?>>
                <label for="checkbox2_10"> No </label>
            </div>
        </div>

        <br><br>

        <div class="box-footer">

            <button type="submit" class="btn btn-info pull-right"id="submit">Update Schedule </button>
        </div>
        {!! Form::close() !!}

    </div>

</div>


<script type="text/javascript">
    $(document).ready(function () {
        $(function () {
            $('#time').timepicker();
        })

    });
</script>

<script type="text/javascript">
    $(document).ready(function () {
        $(function () {
            $('#time1').timepicker();
        })

    });
</script>


<script type="text/javascript">
    function add_rows()
    {

        $rowno = $("#employee_table tr").length;
        $rowno = $rowno + 1;
        $("#employee_table tr:last").after("<tr id='row" + $rowno + "'><td><div class='input-group '><input type='text' class='form-control'  placeholder='Start Time' name='s_time[]' onclick=showtime('row" + $rowno + "')><span class='input-group-addon'><span class='glyphicon glyphicon-time'></span></span></div>  </td><td><div class='input-group '><input type='text' class='form-control'  id='time1' placeholder='End Time' name='e_time[]'><span class='input-group-addon'><span class='glyphicon glyphicon-time'></span></span></div>  </td><td><input type='button' class='fa fa-plus fa-4 btn btn-primary' value='DELETE' onclick=delete_row('row" + $rowno + "')></td></tr>");
    }
    function delete_row(rowno)
    {
        $('#' + rowno).remove();
    }

</script>


<script type="text/javascript">

                                                                        //Variant Deleting script///

                                                                        $(document).ready(function () {
                                                                            // Delete 
                                                                            $('.delete').click(function () {
                                                                                var el = this;
                                                                                var id = this.id;
                                                                                var splitid = id.split("_");

                                                                                // Delete id
                                                                                var deleteid = splitid[1];

                                                                                alert('Are you sure you want to delete?');
                                                                                $.ajax({
                                                                                    url: 'api/ajax',

                                                                                    type: 'delete',
                                                                                    data: {id: deleteid},
                                                                                    success: function (response) {
                                                                                        // Removing row from HTML Table
                                                                                        $(el).closest('tr').css('background', 'tomato');
                                                                                        $(el).closest('tr').fadeOut(800, function () {
                                                                                            $(this).remove();
                                                                                        });

                                                                                    }
                                                                                });

                                                                            });

                                                                        });

</script>     


 <meta name="_token" content="{!! csrf_token() !!}" />


@endsection
 here is my controller of api 
Route::post('ajax','Controller@ajax')->name('ajax');

这是我的网络路线:

Route::get('/', function () {
    return view('auth.login');
});

Route::post('/', function () {

    return view('auth.login')->with('successMsg','Please Select A role .');
});






Route::prefix('admin')->group(function() {
  Route::get('/login', 'Auth\AdminLoginController@showLoginForm')->name('admin.login');
  Route::post('/login', 'Auth\AdminLoginController@login')->name('admin.login.submit');
  Route::get('/', 'AdminController@index')->name('admin.home');
  Route::resource('managedoctor', 'AddDocController');
  Route::resource('managefront', 'AddFrontController');
  Route::resource('managepatient', 'AddPatientController');
  Route::resource('manageschedule', 'AddScheduleController');

  Route::get('/logout', 'Auth\AdminLoginController@logout')->name('admin.logout');
});




Route::prefix('doctor')->group(function() {
  Route::get('/login', 'Auth\DoctorLoginController@showLoginForm')->name('doctor.login');
  Route::post('/login', 'Auth\DoctorLoginController@login')->name('doctor.login.submit');
  Route::get('/', 'DoctorController@index')->name('doctor.home');
  Route::get('/logout', 'Auth\DoctorLoginController@logout')->name('doctor.logout');
});


Route::prefix('frontdesk')->group(function() {
  Route::get('/login', 'Auth\FrontdeskLoginController@showLoginForm')->name('frontdesk.login');
  Route::post('/login', 'Auth\FrontdeskLoginController@login')->name('frontdesk.login.submit');
  Route::get('/', 'FrontdeskController@index')->name('frontdesk.home');
  Route::get('/logout', 'Auth\FrontdeskLoginController@logout')->name('frontdesk.logout');
});

1 个答案:

答案 0 :(得分:0)

我的问题现在解决了我已经完成的错误是我没有使用相同的路由组,其中使用AUTH方法调用控制器