【发布时间】:2021-12-20 00:08:14
【问题描述】:
即使出现错误,我的 ajax 代码也总是会收到成功响应。 我正在使用 Laravel 8.2。
这里是 JavaScript
$(".deleteRecord").click(function(){
var id = $(this).data("id");
var token = $("meta[name='csrf-token']").attr("content");
if(confirm('Do you want to delete?')){
$.ajax(
{
url: "operDel/"+id,
type: 'post',
cache: false,
data: {
"id": id,
"method": 'post',
"_token": token,
},
dataType: "json",
success: function() {
alert('Record is deleted'); // I getting only this alert
},
error: function() {
alert('You can not delete this record');
}
});
}
});
这是路线
Route::post('operDel/{id}', '\App\Http\Controllers\OperationController@destroy')->name('operDel')->middleware('auth');
这是控制器
public function destroy($id)
{
$user = User::find($id);
if($user->type !== 0) {
$user->delete();
return response()->json([
'success'=>"Record deleted."
]);
}
else{
return response()->json([
'error' => "You can not delete this"
]);
}
}
控制器运行正常,$user-> 类型时它从数据库中删除了记录! == 0。 但我只在成功功能中收到警报。 如何显示警报响应消息?
【问题讨论】:
-
您的问题是您没有按照应有的方式使用框架,您应该使用Gates 来授权请求并使用Form Requests 来执行此操作......最重要的是您阅读了整个文档,因此您可以知道该框架提供了什么...
标签: javascript jquery ajax laravel