【问题标题】:Zend-Route for ajax APIZend-Route for ajax API
【发布时间】:2011-08-25 14:48:49
【问题描述】:

我正在尝试向我的应用程序添加一个路由,以便我可以将它与 ajax 调用一起使用。

这是我的 application.ini 中的内容

;Routes
resources.router.routes.products.route = "/backend/api/:command"
resources.router.routes.products.defaults.module = "backend"
resources.router.routes.products.defaults.controller = "api"
resources.router.routes.products.defaults.action = "index"

当对 /backend/api/SomeCommand 进行 ajax 调用时,会产生以下错误:

消息:指定的控制器无效(后端)

array (
  'controller' => 'backend',
  'action' => 'maestro',
  'module' => 'default',
)

如您所见,module 已设置为“default”,而不是“backend”,并且控制器是“backend”而不是“api”,这可能是什么原因造成的?

【问题讨论】:

    标签: zend-framework bootstrapping zend-route


    【解决方案1】:

    看起来您在匹配请求的这条路由之后定义了另一个更通用的路由。

    您需要按照最具体到最具体的顺序定义您的路线,具体性通常会通过您的backend/api 前缀等固定术语的存在来提高。

    请参阅Basic Rewrite Router Operation,尤其是

    注意:反向匹配

    路由以相反的顺序匹配,因此请确保首先定义最通用的路由。

    仅供参考:您不需要在路由前加上正斜杠

    【讨论】:

      猜你喜欢
      • 2018-02-24
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多