Laravel 5 e bug estranho: braçadeiras curly na parte de trás

Sempre que volto no histórico no meu site Laravel, a resposta que vejo é a seguinte:

{} 

Quando eu vou para a frente onde eu estava antes disso, ele mostra essas chaves também.

O problema não ocorre se eu iniciar a opção Ferramentas do desenvolvedor no Chrome com opção Desativar cache. O Content-Type do que é retornado é, de fato, application/json . No Firefox, não existe esse problema.

Acontece porque um dos meus Middlewares. Eu escrevi middleware AjaxJson para traduzir todas as solicitações do Ajax para a resposta JSON. Estranho, quando volto no histórico, o Google Chrome faz essa solicitação no Ajax. Ele contém este header:

X-Requested-With: XMLHttpRequest

E, portanto, $request->ajax() retorna true .

Este é o meu middleware:

 ajax()) { return $response; } if (!$response instanceof Response) { return $response; } return response()->json($response->getOriginalContent(), $response->status()); } } 

O que estou fazendo de errado?


ATUALIZAR

Eu descobri sobre o valor no-store para o header da resposta Cache-Control . Isso impede que o Chrome use o cache ao clicar no botão Voltar. Eu criei um middleware para configurar Cache-Control como este:

Cache-Control: privado, max-age = 0, no-cache, no-store

Por favor, deixe-me conhecer pessoal, se você conhece uma maneira melhor de resolver esse problema.