2011-08-25 58 views
0

我試圖添加一個路由到我的應用程序,以便我可以使用它與ajax調用。Zend-Route for ajax API

以下是我在我的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調用時,到/後端/ API/SomeCommand,將產生以下錯誤:

消息:無效的控制器指定(後端)

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

,你可以看到模塊已經被設置爲「默認」,而不是「後臺」,而控制器是「後臺」,而不是「API」,什麼原因可能造成這個?

回答

0

看起來你已經有了另一個更通用的路由,這個路由跟這個請求匹配。

您需要按照最少至最特定的順序定義您的路線,通常通過固定條款(如backend/api前綴)的存在來提高特定性。

Basic Rewrite Router Operation,尤其

注意:反匹配

路線以相反的順序進行匹配,從而確保最通用的路由被首先定義。

FYI:你不需要用斜槓前綴的路由