Я пытаюсь отправить форму на мой контроллер, используя Ajax. Сначала он работал правильно, но через некоторое время он отправляет два запроса, первый из которых правильный, а второй имеет закодированный URL. ниже - ошибка в консоли для второго:
jquery-3.2.1.min.js:4 POST http://127.0.0.1:7800/%7B%7Burl(%22appointment/create%22)%7D%7D 404 (Not Found)
, если я проверяю в сети, я получаю ответ с первым и эту ошибку для второго;
message: "", exception: "Symfony\Component\HttpKernel\Exception\NotFoundHttpException",…
Ниже мой bootstrap модальный, где моя форма;
<div class="modal fade" id="appointment" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title colors" id="exampleModalLongTitle">Make an Appointment With our Doctors</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="ajax_class_form">
<div class="form-row">
@csrf
<div class="col-md-6">
<div class="form-group">
<label for="appointment-name" class="col-form-label colors">Name*</label>
<input type="text" class="form-control form-custom input-xs" name="appointment-name" id="appointment-name">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="appointment-number" class="col-form-label colors">Number*</label>
<input type="text" class="form-control form-custom input-xs" name="appointment-number" id="appointment-number">
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-6">
<div class="form-group">
<label for="appointment-date" class="col-form-label colors">When*</label>
<input type="Date" class="form-control form-custom input-xs" name="appointment-date" id="appointment-date">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="appointment-sms" class="col-form-label colors">Message*</label>
<textarea class="form-control form-custom input-xs" name="appointment-sms" id="appointment-sms" rows="3"></textarea>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-outline-primary add_button" id="appointment-request">Request</button>
</div>
</div>
Это мой JS;
<script>
$(document).ready(function(){
$('#appointment-request').click(function() {
$(this).prop("disabled", true);
$.ajax({
url: '{{url("appointment/create")}}',
type: 'post',
data: $('#ajax_class_form').serialize(),
success: function(response){
console.log(response);
}
})
})
});
</script>
Вот маршрут
Route::post('/appointment/create', 'AppointmentsController@store')->name('appointmentCreate');
Наконец функция контроллера здесь;
public function store(Request $request)
{
try {
$appointment = new Appointment([
'name' => $request['appointment-name'],
'number' => $request['appointment-number'],
'date' => $request['appointment-date'],
'message' => $request['appointment-sms']
]);
$appointment->save();
return response()->json([
'msg' => 'Appointment Sent'
]);
} catch (QueryException $e) {
throw $e->getMessage();
}
}
Это ошибка в консоли. Первый запрос в порядке, но второй кажется закодированным, я не знаю почему ....