【发布时间】:2021-02-25 09:04:52
【问题描述】:
我正在使用 larvel 8,并且想在使用 ajax 发布时更改“CSRF 令牌不匹配”的消息。我创建了一个闭包并将其传递给 App\Exceptions\Handler 类的可渲染方法,但出现了预览消息。 这是我的代码:
use Illuminate\Session\TokenMismatchException;
class Handler extends ExceptionHandler
{
protected $dontReport = [
//
];
protected $dontFlash = [
'password',
'password_confirmation',
];
public function register()
{
$this->renderable(function (TokenMismatchException $e, $request) {
return $request->expectsJson()
? response()->json(['message' => 'A new message...'], 419)
: redirect()->guest(route('login'));
});
}
【问题讨论】:
-
这里你使用
$request->expectsJson()意味着在ajax中你需要传递标题Accept: application/json
标签: ajax laravel csrf-token