我是 Laravel 新手。我正在尝试创建一个共同的社交网络。 现在我希望能够删除用户的帖子。当您尝试提交表单时,它会加载 ajax 但无法删除数据。
这是我的代码:
$("#_global_modal").delegate('#modal_form_delete', 'submit',
function(event)
{
// To stop a form default behaviour
event.preventDefault();
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
dataType: 'json',
data: $(this).serialize(),
})
.done(function(response){
if(response.delete == "success"){
window.location.href = response.redirect_route
}else{
console.log(response);
}
})
.fail(function(){
console.log("error");
})
.always(function(){
console.log("complete");
});
});
路线:
Route::post('delete','crude@delete')->name('delete');
我的 Controller 部分:
public function delete(Request $request)
{
if($request->ajax()){
$user = Auth::user();
$user->post()->delete(['post' => $request->post]);
return response()->json([
'delete' => 'success',
'redirect_route' => route('profile')
]);
}else{
return response()->json([
'delete' => 'ERROR',
'ERROR_MSG' => 'ERROR MSG'
]);
dd("Sorry you have to send your form information by using ajax
request");
}
}
So how can I solve this problem?
最佳答案
您的删除语句是错误的。
public function delete(Request $request)
{
if($request->ajax()) {
Post::where('id', $request->post)
->where('user_id', auth()->id())
->delete();
return response()->json([
'delete' => 'success',
'redirect_route' => route('profile')
]);
}
return response()->json([
'delete' => 'ERROR',
'ERROR_MSG' => 'ERROR MSG'
]);
}
关于javascript - 在 laravel 5.4 中使用 ajax 和 js 删除用户帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44248630/