Ajax请求后如何更新调试工具栏?

时间:2020-09-06 08:06:06

标签: php ajax symfony symfony5

按照official documentation上的说明,可以在每个ajax请求上更新调试工具栏:

use Symfony\Component\HttpKernel\Event\ResponseEvent;

// ...

public function onKernelResponse(ResponseEvent $event)
    {
    if (!$this->getKernel()->isDebug()) {
        return;
    }

    $request = $event->getRequest();
    if (!$request->isXmlHttpRequest()) {
        return;
    }

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

不幸的是,所描述的代码无法完全正常工作:$this->getKernel()->isDebug()会创建异常,因为getKernel()不是EventSubscriber的方法。

可以在getKernel()对象上调用ResponseEvent,但是它返回一个没有HTTPKernel方法的isDebug()对象。

如何确定EventSubscriber中是否启用了调试工具栏?

0 个答案:

没有答案