我正在一个引导模式中构建一个表单,当您按下“保存”按钮时,它将被提交给laravel。
表单本身由文本字段、文本区域、文件输入和复选框组成。
目前,应该接收所有数据的控制器如下所示:
/**
* @param $request
* @return \Illuminate\Http\JsonResponse
*/
public function postCategory($request) {
return response()->json($request);
}
我现在的目标是确保所有的事情都发生在好的控制器上,并以JSON字符串的形式返回到jquery。完成后,我将处理如何保存表单的内容。
以下是我提交的Ajax的外观:
$("#new_category").submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: window.location.origin + '/admin/categories',
data: {
data: $(this).serialize()
},
dataType: "json",
success: function(data){
console.log(data);
}
});
});
更新
以下是表单的外观:
<form id="new_category">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Nouvelle catégorie</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="category_title">Titre</label>
<input type="text" class="form-control" id="category_title" placeholder="Titre" name="category_title">
</div>
<div class="form-group">
<label for="category_description">Description</label>
<textarea class="form-control" name="category_description" id="category_description" rows="3" placeholder="Description..."></textarea>
</div>
<div class="form-group">
<label for="category_illustration">Illustration</label>
<input type="file" class="form-control-file" name="category_illustration" id="exampleFormControlFile1">
</div>
<div class="form-check">
<input type="checkbox" name="category_enabled" class="form-check-input" id="category_enabled" checked="checked">
<label class="form-check-label" for="category_enabled">Actif</label>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
<button type="submit" class="btn btn-primary">Enregistrer</button>
</div>
</form>
下面是我处理提交的路线:
Route::post('/admin/categories', 'HomeController@postCategory');
我也发现了
this question
这帮了我很大的忙,但我还是有这些问题。
我该怎么办?
提前谢谢你