Я пытаюсь сохранить данные из модального в базу данных, и вот что я попробовал.Модальные показы, показы формы, однако, когда я пытаюсь сохранить данные, ничего не происходит.В консоли я получаю 2 ошибки
- Не удалось загрузить ресурс: сервер ответил с состоянием 500 (Внутренняя ошибка сервера)
- Не удалось загрузить ресурс: сервер ответил сстатус 422 (необработанный объект).
модальный
<div class="modal fade" id="todolist-modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h2 class="modal-title" id="todo-list-tile">Add New Todo</h2>
</div>
<div class="modal-body" id="todo-list-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-warning" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="todo-list-save-btn">Save changes</button>
</div>
</div>
</div>
</div>
JavaScript
$('#todo-list-save-btn').click(function(event) {
event.preventDefault();
var form = $('#todo-list-body form'),
url = form.attr('action'),
method = 'POST';
form.find('.help-block').remove();
form.find('.form-group').removeClass('has-error');
$.ajax({
url: url,
method: method,
data: form.serialize(),
success: function(response) {
},
error: function(xhr) {
var error = xhr.responseJSON;
if ($.isEmptyObject(error) == false) {
$.each(error.errors, function(key, value) {
$('#' + key)
.closest('.form-group')
.addClass('has-error')
.append('<span class="help-block"><strong>' + value + '</strong></span>')
});
}
}
});
Форма
<div class="alert alert-success" id="add-new-alert" style="display:none"></div>
{!! Form::model($todoLists, ['route' => 'todolists.store']) !!}
@csrf
<div class="form-group">
<label for="" class="control-label">List Name</label>
{!! Form::text('title',
null,
[
'class' => 'form-control',
'id' => 'item',
'placeholder'=>'item'
]
)
!!}
</div>
<div class="form-group">
<label for="" class="control-label">Description</label>
{!! Form::textarea('description',
null,
[
'class' => 'form-control',
'id' => 'description',
'placeholder'=>'description',
'rows' => 2
]
)
!!}
</div>
{!! Form::close() !!}
Маршрут
Route::resource('todolists', 'TodoController');
Контроллер
public function create()
{
$todoLists = new Todo();
return view ('admin.todo.form', compact('todoLists'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required|min:5',
'description' => 'min:5'
]);
$todoList = $request->user()
->todoLists()
->create($request->all());
return view("todolists.item", compact('todoList'));
}