Сохранение данных с использованием Ajax и Laravel - PullRequest
0 голосов
/ 25 апреля 2019

У меня просто есть форма ввода, которую я хочу сохранить в своей базе данных, используя Ajax, PHP и Laravel, этот код отлично работает с другими моими модулями. Но я не могу просто найти ошибку, почему этот код не работает нормально. Помогите мне определить, что не так с моим кодом. Маршрут правильный, мой контроллер тоже кажется правильным, но я действительно сомневаюсь, что мой Ajax верен.

HTML:

  <input id="schedDate" name = "schedDate" type="text" class="datetimepicker-input form__field" placeholder="Schedule Date" data-target="#schedDate" data-toggle="datetimepicker">

  <input id="timeIn" name = "timeIn" type="text" class="datetimepicker-input form__field" placeholder="Time In" data-target="#timeIn" data-toggle="datetimepicker">

  <input id="timeOut" name = "timeOut" type="text" class="datetimepicker-input form__field" placeholder="Time Out" data-target="#timeOut" data-toggle="datetimepicker">

   <select id="cmbShift" name = "cmbShift" class="form__field" placeholder="Shift Type">
       <option value="">- Select Shift -</option>
       <option value="Pre-Shift">Pre-Shift</option>
       <option value="Post-Shift">Post-Shift</option>
   </select>

    <textarea type="text" id="txtReason" name = "txtReason" class="form__field" placeholder="Reason"></textarea>
    <input id="btnApplyAlter" name="btnApplyAlter" class="btnApplyAlter btn btn-sm button blue pull-right" type="button" value="Apply Overtime" style="width:220px;"/>

Вот мой Аякс:

$(document).on("click", ".btnApplyAlter", function(){

var c = confirm("Apply this Overtime?");
var schedDate = $("#schedDate").val();
var timeIn = $("#timeIn").val();
var timeOut = $("#timeOut").val();
var cmbShift = $("#cmbShift").val();
var txtReason = $("#txtReason").val();

if(c == true)
{
    $.ajax({
        headers:{'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
        url: "{{ route('saveovertime') }}",
        method: "POST",
        data: {sched_date:schedDate,time_in:timeIn,time_out:timeOut,cmbShift:cmbShift,txtReason:txtReason}, 
        dataType: "json",
        success:function(data)
        {
            alert(data);
            refresh_Table();
        },
        error: function(xhr, ajaxOptions, thrownError){
            console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    }); 
}
 });

Вот мой контроллер:

    public function save_overtime(Request $request){
    //Code for getting the current date of Asia/Manila
    date_default_timezone_set('Asia/Manila');
    $todays_date = date("Y-m-d H:i:s");
    $today = strtotime($todays_date);
    $todayDate = date("Y-m-d H:i:s", $today); 
    //Code for getting the current date of Asia/Manila

    $apply_overtime = new OvertimeRecords;
    $apply_overtime->company_id = auth()->user()->company_id;
    $apply_overtime->date_applied = $todayDate;
    $apply_overtime->sched_date = $request->sched_date;
    $apply_overtime->shift_applied = $request->cmbShift;
    $apply_overtime->date_timein = $request->time_in;
    $apply_overtime->date_timeout = $request->time_out;
    $apply_overtime->reason = $request->txtReason;
    $apply_overtime->lu_by = auth()->user()->name; 
    $apply_overtime->save();
    $message = "Overtime Applied Succesfully!"; 
    echo json_encode($message);
}

и вот мой маршрут:

 Route::post('overtimerecords/saveovertime', 'UsersController\\OvertimeRecordsController@save_overtime')->name('saveovertime');

Ошибка: enter image description here

и эта ошибка выделена прямо в ajax

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...