我想将所有由 AJAX 请求执行的 Controller 方法移动到单独的文件夹中。例如创建文件 UserBundle/Ajax/Ajax.php
并将我所有的 AJAX 请求方法放入此文件。
将 ajax 请求与普通 http 请求分开是正确的方法吗?我找不到任何示例如何操作。在 Symfony 中有可能吗?我必须在这个 Ajax.php
文件中扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller
吗?没关系,Ajax
和 Controller
包中将存在两个文件夹,包含 Controller ,但第一个用于 ajax 请求,第二个用于普通 http 请求?
你知道解决这个问题的架构模式吗?
最佳答案
我认为这样做没有任何问题,只要确保正确定义路由路径即可:
注解路由示例:
# app/config/routing.yml
app_bundle:
resource: "@AppBundle/Controller"
type: annotation
prefix: /
app_bundle_ajax:
resource: "@AppBundle/Ajax"
type: annotation
prefix: /
I must extend Symfony\Bundle\FrameworkBundle\Controller\Controller in this Ajax.php file?
这不是强制性的,但是 Symfony\Bundle\FrameworkBundle\Controller\Controller
为您提供了出色的快捷方式,例如 $this->json(...);
从 Symfony 3.1 开始
关于php - 在单独的目录/文件中处理 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39638959/