【问题标题】:symfony route gives no responsesymfony 路由没有响应
【发布时间】:2015-10-07 14:01:40
【问题描述】:

如前所述,我的问题是在 post 方法上调用路由时得到一个空响应(在 firebug 中查看)。放置“die('something')”向我显示未调用该操作...我不知道在哪里处理请求...。 一件重要的事情可能是我重命名了一个实体,所有相关的东西(控制器、表单...)都可以正常工作,除非尝试通过我的路线调用 Contact -> createAction :

contact_create:
    path:     /create
    defaults: { _controller: "MainMainBundle:Contact:create" }
    requirements: { _method: post|put }

我收到空响应..即使我通过 get 方法调用它,没有错误,空响应...

控制器中的操作:

公共函数 createAction(Request $request) { ...

我真的不知道我面前是否有明显的东西,我没有看到它,或者它是一种路由缓存,搞乱了路由,控制器,实体的重命名......

如果有人有想法,我会非常感谢!

问候

编辑: 联系人.yml:

contact:
    path:     /{companyId}
    defaults: { _controller: "MainMainBundle:Contact:index" }

contact_show:
    path:     /{id}/show
    defaults: { _controller: "MainMainBundle:Contact:show" }

contact_new:
    path:     /new/{companyId}
    defaults: { _controller: "MainMainBundle:Contact:new" }

contact_create:
    path:     /create
    defaults: { _controller: "MainMainBundle:Contact:create" }
    requirements: { _method: post|put }

contact_edit:
    path:     /{id}/edit
    defaults: { _controller: "MainMainBundle:Contact:edit" }

contact_update:
    path:     /{id}/update
    defaults: { _controller: "MainMainBundle:Contact:update" }
    requirements: { _method: post|put }

contact_delete:
    path:     /{id}/delete
    defaults: { _controller: "MainMainBundle:Contact:delete" }
    requirements: { _method: post}

contact_revive:
    path:     /{id}/revive
    defaults: { _controller: "MainMainBundle:Contact:revive" }
    requirements: { _method: post}

$ php app/console router:debug | grep contact

deal_ajax_load_new_form           ANY             ANY    ANY  /deal/dealajaxloadnewform/{contactId}
contact                           ANY             ANY    ANY  /contact/{companyId}
contact_show                      ANY             ANY    ANY  /contact/{id}/show
contact_new                       ANY             ANY    ANY  /contact/new/{companyId}
contact_create                    POST|PUT        ANY    ANY  /contact/create
contact_edit                      ANY             ANY    ANY  /contact/{id}/edit
contact_update                    POST|PUT        ANY    ANY  /contact/{id}/update
contact_delete                    POST            ANY    ANY  /contact/{id}/delete
contact_revive                    POST            ANY    ANY  /contact/{id}/revive

【问题讨论】:

  • 你用什么方法请求路由? POST 还是 GET?
  • 我使用的是 POST 方法,我尝试 GET 它,以查看错误,但没有错误...
  • 向我们展示您的整个路线,您可能有冲突的路线..

标签: php symfony routing entity


【解决方案1】:

尝试将'contact_create'路由放在contact.yml之上,我想该文件'contact'上的第一个路由与“/create”路径(companyId = create)匹配并执行“MainMainBundle:Contact:index”控制器而不是“MainMainBundle:Contact:create”之一。

【讨论】:

  • 非常感谢!我忘记了路由器会选择适合该模式的第一条路由!我将不得不更多地区分模式..再次感谢!
【解决方案2】:

你在使用 jsrouting-bundle (friendsofsymfony) 吗?如果是这样,请尝试运行以下命令

app/console fos:js-routing:dump

【讨论】:

  • 不,我使用的是基础路由
【解决方案3】:

检查您是否使用正确的端口。在我的情况下,端口是 8080,但我使用的是 8000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 2018-01-26
    • 2015-02-21
    • 2011-11-25
    相关资源
    最近更新 更多