错误:内部服务器错误Laravel 5.4 ajax调用
问题描述:
使用以下ajax调用来检索控制器中的参数,但它会给出错误。当我在AJAX和控制器中添加参数id
时发生。错误:内部服务器错误Laravel 5.4 ajax调用
$.ajax({
url:'/delprofile',
type: 'delete',
data: {
id: 5,
'_token': $('meta[name="csrf-token"]').attr('content')
},
success: function(){ alert("Record deleted.") },
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus + ' : ' + errorThrown);
}
});
Laravel功能:
Route::delete('/delprofile','[email protected]');
public function delprofile (Request $request){
$id=$request->input('id');
DB::table('education')->where('id','=',id)->delete();
}
答
ID是可变的,而不是
$id
id
此外,对于更好的代码:
1 - 你在你的AJAX调用指定的方法作为标准"POST"
2 - 您添加到您的数据:_method: 'delete'
因为这是推荐的方法来发送DELETE,PATCH和PUT请求Laravel。
3-添加一个return response()->json($id);
以确保ID已成功发送。
在你的成功的功能4-,CONSOLE.LOG的ID success: function(data){console.log(data); alert("Record deleted.")....
我会建议它可能是在功能的laravel部分问题。也许检查'$ id'是否实际上是先填充的? – Deckerz
@Deckerz如何检查,因为我同时从ajax传递静态值。 –
尝试将其输出到PHP中的错误日志中,只需看看是否实际记录了5。如果工作正常,则错误必须在数据库查询中。 – Deckerz