Я использую laravel, html и ajax для редактирования категорий товаров. Каждый раз, когда я нажимаю кнопку «Изменить», загружается модальное окно, но оно пустое. Код состояния - 500, несмотря на то, что загружается правильный URL-адрес, но информация о категории продукта не отображается. Мой laravel маршрут:
Route::get('set/product_category/{productCategory}','ProductCategoriesController@setProductCategory')->name('inventory.product-category.set');
Route::put('edit/product_category/{id}', 'ProductCategoriesController@editProductCategory')->name('inventory.product-category.edit');
Моя модальная кнопка:
<td> <button type="button" class="btn btn-info" data-toggle="modal" data-url="{{ route('inventory.product-category.set',$productCategory->uuid) }}"
id="editPC" data-target="#editProductCategoryModal">Edit </button>
Мой модальный выглядит следующим образом. Он находится в товарной категории.blade.template
<!-- Start edit product category modal -->
<div id="editProductCategoryModal" class="modal fade" tabindex="-1">
<div class="modal-dialog" role="document">
<div class="modal-content message-modal">
<div class="modal-header">
<h4 class="modal-title text-xs-center">Update Product Category Details</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body ">
<form role="form" method="PUT" action="{{route('inventory.product-category.edit', $productCategory->uuid) }}">
{{ csrf_field() }}
<div class="form-group">
<label class="control-label">Name</label>
<div>
<input type="text" class="form-control input-lg" name="name" value={{ $productCategory->name}}>
</div>
</div>
<div class="form-group">
<label class="control-label">Description</label>
<div>
<input type="text" class="form-control input-lg" name="description" value={{ $productCategory->description}}>
</div>
</div>
</form>
</div>
<div class="modal-footer text-xs-center">
<button type="submit" class="btn btn-success" id="editPCBtn"> Save Product Category </button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
Ajax код:
$(document).on('click', '#editPC', function(e) {
e.preventDefault();
var url = $(this).data('url');
$('#addProductCategoryForm').html('');
$('#modal-loader').show();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: url,
type: 'GET',
dataType: 'html'
})
.done(function(data){
console.log(data);
$('#addProductCategoryForm').html('');
$('#addProductCategoryForm').html('data');
$('#modal-loader').hide();
})
.fail(function(){
$('#dynamic-content').html('<i class="glyphicon glyphicon-info-sign"></i> Something went wrong, Please try again...');
$('#modal-loader').hide();
});
});
$('#editPCBtn').on('click', function(e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "PUT",
url: '/edit/product_category/{id}',
data: $('#editProductCategoryForm').serialize(),
success: function(response) {
window.location.href = "product_categories";
},
error: function() {
alert("Failed");
}
});
'''