Zend-Route for ajax API

时间:2011-08-25 05:00:29

标签: zend-framework bootstrapping zend-route

我正在尝试向我的应用程序添加路由,以便我可以将其与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"

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

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

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

你可以看到模块已被设置为“默认”,而不是“后端”,而控制器是“后端”而不是“api”,可能是什么导致了这个?

1 个答案:

答案 0 :(得分:0)

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

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

请参阅Basic Rewrite Router Operation,特别是

  

注意:反向匹配

     

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

仅供参考:您不需要使用正斜杠

为路线添加前缀