小编典典

是否可以仅限制AJAX的路由?

ajax

是否可以仅针对XHR请求限制Symfony 2路由?我想声明只能通过AJAX访问的路由。

我不想像这样在每个AJAX特定操作中添加一些额外的行:

if ($request->isXmlHttpRequest()) {
    // do something
} else {
    // do something else
}

我想定义:

  • AJAX请求的一条规则
  • 对相同URL进行GET / POST请求的一条规则

为了避开上述情况。


阅读 260

收藏
2020-07-26

共1个答案

小编典典

我知道这个问题有点老,但是与此同时 ,Symfony 2.4* 中引入 一种 新的解决方法*

匹配表达式

对于ajax限制,它看起来像这样:

contact:
    path:     /contact
    defaults: { _controller: AcmeDemoBundle:Main:contact }
    condition: "request.isXmlHttpRequest()"

在注释中也可以:

/**
 * ContactAction
 *
 * @Route("/contact", name="contact", condition="request.isXmlHttpRequest()")
 */
2020-07-26