Bạn có thể sửa đổi tập tin app\Exceptions\Handler.php
về chức năng render:
public function render($request, Exception $e)
{
/**modified part**/
if ($request->wantsJson()) {
return response([
'success' => false,
'message' => $e->getMessage()
], 404);
}
if ($e instanceof AuthorizationException) {
return redirect('path');
//or simply
return view('errors.forbidden');
//but this will return an OK, 200 response.
}
/**end of modified part**/
return parent::render($request, $e);
}
Nếu bạn muốn để đặt 403, hãy sử dụng hàm trợ giúp response()
. Bạn có thể xem tài liệu cho các câu trả lời tại đây https://laravel.com/docs/master/responses
Về cơ bản, bạn có thể sử dụng giải pháp trên để chơi với nhiều tùy chọn hơn. Nhưng cách dễ nhất là tạo một tệp xem: errors/403.blade.php
và chế độ xem đó sẽ tự động tải khi bạn nhấn các ngoại lệ trái phép. Tương tự sẽ làm việc cho 404 không tìm thấy, chỉ cần tạo ra 404.blade.php
.
Nguồn
2016-09-28 04:54:44
Tại sao cuộc bỏ phiếu lại bị bỏ phiếu? :(Có gì sai? –