处理分离的目录/文件中的AJAX请求

时间:2016-09-22 12:22:34

标签: php symfony

我想将我的所有方法从控制器(由AJAX请求执行)移动到单独的文件夹。例如,创建文件UserBundle/Ajax/Ajax.php并将此文件放入我的所有AJAX请求方法中。

将ajax请求与正常的http请求分开是否是正确的方法?我找不到任何例子如何做到这一点。 Symfony有可能吗?我必须在此Symfony\Bundle\FrameworkBundle\Controller\Controller文件中扩展Ajax.php吗?那没关系,将在bundle AjaxController中存在两个文件夹,包含控制器,但首先是ajax请求,第二个是正常的http请求?

对于这个问题,你知道任何架构模式吗?

2 个答案:

答案 0 :(得分:1)

我认为没有任何问题,只需确保正确定义路由路径:

注释路由的示例:

# app/config/routing.yml
app_bundle:
    resource: "@AppBundle/Controller"
    type:     annotation
    prefix:   /

app_bundle_ajax:
    resource: "@AppBundle/Ajax"
    type:     annotation
    prefix:   /
  

我必须在这个Ajax.php文件中扩展Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller吗?

这不是强制性的,但Symfony\Bundle\FrameworkBundle\Controller\Controller为您提供了优秀的快捷方式,例如自{Symfony 3.1

以来$this->json(...);

答案 1 :(得分:0)

您可以创建简单的AjaxController作为接收ajax请求的服务。然后,您可以将每个请求重定向到不同的控制器,它们将返回JsonResponces()。