php - 在单独的目录/文件中处理 AJAX 请求

标签 php symfony

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

将 ajax 请求与普通 http 请求分开是正确的方法吗?我找不到任何示例如何操作。在 Symfony 中有可能吗?我必须在这个 Ajax.php 文件中扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller 吗?没关系,AjaxController 包中将存在两个文件夹,包含 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/

相关文章:

php - 使用单个查询和每个用户密码 salt 的用户登录

java - 如何将java时间戳转换为php时间戳?

css - Symfony3 使用 Bootstrap 设置表单标签/小部件宽度

symfony - 在 Symfony2 中生成路径附加查询字符串

php - Symfony路由ajax get方法

php - 为什么我的 mysqli_connect 没有连接?它说没有指定主机名

php - 如果插入语句之一失败,如何从数据库中删除数据

php - 什么会导致 PHP 忽略 mysqli.reconnect 设置?

php - 根据用户角色过滤菜单项

php - Symfony 依赖注入(inject) : Maximum function nesting level