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
事件,以便自动添加那个头。