Я пытаюсь создать новую опцию сервиса при создании счета (счет может иметь много сервисов), это как создание нового тега или категории при написании поста без перезагрузки, но у меня есть эта внутренняя ошибка сервера 500, Я думаю, что проблема в контроллере, потому что он прекрасно работает, когда я комментирую создание в контроллере, проверяются route и csrf, и все, спасибо за помощь!
В моем JavaScript:
var max_service_id = {{$max_service_id}};
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$("#add_service_button").on("click",function(e){
e.preventDefault();
var service_name = $("input[name=service_name]").val();
var service_category = document.getElementById('service_category').value;
var service_description = $("input[name=service_description]").val();
$.ajax({
type:'POST',
url:'/service/add-in-bill',
dataType: 'json',
data:{
name : service_name,
category_id : service_category,
description : service_description
},
success:function(data){
if (data.message) {
//This is error message
alert(data.message);
}
if (data.success) {
alert(data.success);
var newService = new Option(service_name, max_service_id, false, true);
$('.multipleSelect').append(newService).trigger('change');
max_service_id++;
$("#add_service_div").hide("fast");
}
}
});
})
});
В моем контроллере:
$validator = Validator::make($request->all(), [
'name' => 'required|unique:services',
'category_id' => 'required',
]);
if ($validator->fails()) {
return response()->json(['message'=>$validator->errors()->all()]);
} else {
// It works fine when i comment this, so i think the problem is something about variables from javascript to php stuff
Service::create($request->all());
return response()->json(['success'=>'Create service success !']);
}
//
// Я думаю, что проблема в контроллере, потому что он отлично работает, когда я комментирую "Service :: create ($ request-> all ());"