Contributed by
Jeffrey Brubaker
in #26655.

Single-page applications (SPA/单页程序) 是通过 JavaScript 来动态重写当前页面内容而不是通过后端来加载完整新页面。

在这种程序中有一个问题,Symfony 的 Web Debug Toolbar 留下来的是执行第一个action时的除错信息。

为了解决这个问题,在 Symfony 4.1 中我们引入了一个特殊的 Symfony-Debug-Toolbar-Replace HTTP 头。将此值设为 1 即告之 Symfony 使用新的与当前响应相关联的除错工具条进行替换。

如果你希望针对某个响应开启这项功能,在代码中添加:

1
$response->headers->set('Symfony-Debug-Toolbar-Replace', 1);

当你面对 SPA 程序时,更好的方式是去定义一个 event subscriber 来监听 kernel.response 事件,以便自动添加那个头。