Php Laravel Ajax创建数据返回错误500(内部服务器错误)
我尝试使用laravel和ajax输入图像数据,但出现错误500(内部服务器错误)。我不确定我的代码是否正确,有人能帮我吗 这是我的刀片Php Laravel Ajax创建数据返回错误500(内部服务器错误),php,ajax,laravel,http-status-code-500,Php,Ajax,Laravel,Http Status Code 500,我尝试使用laravel和ajax输入图像数据,但出现错误500(内部服务器错误)。我不确定我的代码是否正确,有人能帮我吗 这是我的刀片 <form id="appForm"> <input type="hidden" id="id" name="id" class="form-control" ari
<form id="appForm">
<input type="hidden" id="id" name="id" class="form-control" aria-describedby="id" value="">
<input type="hidden" id="photo_update" name="photo_update" class="form-control" aria-describedby="photo_update" value="">
<div class="form-group">
<label for="exampleFormControlTextarea1">Foto</label>
<input type="file" id="photo" class="form-control @error('photo') is-invalid @enderror" name="photo" placeholder="foto" accept="image/*">
@error('photo')
<small class="form-text text-danger"></small>
@enderror
</div>
<div class="form-group">
<label for="name">Judul Gallery</label>
<input type="text" id="name" name="name" class="form-control" aria-describedby="name" value="">
@error('name')
<small class="form-text text-danger"></small>
@enderror
</div>
<div class="form-group">
<label for="description">Deskripsi Gallery</label>
<textarea id="description" name="description" id="description" class="form-control tiny" rows="3"></textarea>
@error('description')
<small class="form-text text-danger">{{ $message }}</small>
@enderror
</div>
{{-- <button type="sumbit" id="saveButton" name="send" class="btn btn-lg btn-primary btn-block" name="send" value="Kirimkan Pesan">Simpan Gallery Perusahaan</button> --}}
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
<button type="submit" name="send" id="saveButton" value="Kirimkan Data" class="btn btn-primary">Simpan</button>
</div>
</form>
这是我的控制器
public function store(Request $request)
{
$data=$request->All();
// dd($data);
if ($request->photo_update !== null && $request->photo == null){
$namaFile=$request->photo_update;
}else{
Storage::delete('public/images/gallery'.$request->photo);
if ($request->hasFile('photo')){
$slug=Str::slug($request['name']);
$extFile=$request->photo->getClientOriginalExtension();
$namaFile=$slug.'-'.time().".".$extFile;
$request->photo->storeAs('public/images/gallery',$namaFile);
}else{
$namaFile='defaultPhoto.jpg';
}
}
$data['slug']=Str::slug($request->name);
$data['photo']=$namaFile;
Gallery::updateOrCreate(['id'=>$request->id],$data);
return response()->json($data);
}
这是我的AJAX
$("#saveButton").click(function (event) {
event.preventDefault();
var form = $('#appForm')[0];
var data = new FormData(form);
$('#saveButton').html(`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
Mengirim`);
$.ajax({
type: "POST", //karena simpan kita pakai method POST
enctype:'multipart/form-data',
url: "{{route('gallery.store')}}", //url simpan data
data:data, //panggil form yang sudah dideklarasikan diatas
dataType: 'json', //data tipe kita kirim berupa JSON
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (data) { //jika berhasil
$('#appForm').trigger("reset"); //form reset
$('#appModal').modal('hide'); //modal hide
$('#saveButton').html('Simpan'); //tombol simpan
var oTable = $('#appTable').dataTable(); //inialisasi datatable
oTable.fnDraw(false); //reset datatable
Swal.fire({
icon: 'success',
title: 'Berhasil',
text: 'Data Sukses ditambahkan!',
showConfirmButton:false,
timer: 1500
});
},
error: function (data) { //jika error tampilkan error pada conso
console.log((data.responseJSON.errors));
}
});
});
$(“#保存按钮”)。单击(函数(事件){
event.preventDefault();
变量形式=$('#appForm')[0];
var数据=新表格数据(表格);
$('#saveButton').html(`
门吉里姆`);
$.ajax({
类型:“POST”//karena simpan kita pakai方法POST
enctype:“多部分/表单数据”,
url:{{route('gallery.store')}}},//url simpan数据
数据:数据//panggil表格
数据类型:'json',//数据提示kita kirim berupa json
processData:false,
contentType:false,
cache:false,
超时:600000,
成功:函数(数据){//jika berhasil
$('#appForm')。触发器(“重置”);//窗体重置
$('#appModal').modal('hide');//modal hide
$('#saveButton').html('Simpan');//tombol Simpan
var oTable=$('#appTable').dataTable();//inialisasi dataTable
oTable.fnDraw(false);//重置数据表
喷火({
图标:“成功”,
标题:“Berhasil”,
文本:“数据传输数据!”,
showconfixton:false,
计时器:1500
});
},
错误:函数(数据){//jika error tampilkan error pada conso
log((data.responseJSON.errors));
}
});
});
尝试使用laravel和ajax输入图像数据,但出现错误500,请有人帮助我,谢谢500错误是服务器端错误,您至少需要调试错误,否则没有人可以帮助您。检查控制台和错误日志(/storage/log/)以获取错误如果您使用控制台查看错误,双击错误以查看实际的laravel消息,或者转到网络选项卡,您也可以在那里看到
$("#saveButton").click(function (event) {
event.preventDefault();
var form = $('#appForm')[0];
var data = new FormData(form);
$('#saveButton').html(`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
Mengirim`);
$.ajax({
type: "POST", //karena simpan kita pakai method POST
enctype:'multipart/form-data',
url: "{{route('gallery.store')}}", //url simpan data
data:data, //panggil form yang sudah dideklarasikan diatas
dataType: 'json', //data tipe kita kirim berupa JSON
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (data) { //jika berhasil
$('#appForm').trigger("reset"); //form reset
$('#appModal').modal('hide'); //modal hide
$('#saveButton').html('Simpan'); //tombol simpan
var oTable = $('#appTable').dataTable(); //inialisasi datatable
oTable.fnDraw(false); //reset datatable
Swal.fire({
icon: 'success',
title: 'Berhasil',
text: 'Data Sukses ditambahkan!',
showConfirmButton:false,
timer: 1500
});
},
error: function (data) { //jika error tampilkan error pada conso
console.log((data.responseJSON.errors));
}
});
});