FOSJsRoutingBundle没有看到FOSRESTBundle的路线

时间:2016-01-25 08:04:16

标签: javascript php ajax symfony fosrestbundle

我想从我的JS访问到FOSRESTBundle控制器的API路由。我使用的是FOSJSRoutingBundle,但路线不可见(我得到了&x 39;路线xxx不存在'错误。

这是来自我的控制器的动作:

namespace ApiBundle\Controller;


use FOS\RestBundle\Controller\FOSRestController;
use FOS\RestBundle\Controller\Annotations\Get;

class AjaxController extends FOSRestController{

/**
 * @Get("/someaction", name="someaction")
 */
public function someAction()
{
    $response = 'some response';
    $view = $this->view($response,200);
    return $this->handleView($view);
}
}

可以通过curl请求访问此路由,也可以在JS文件中对其进行硬编码,但我不想对其进行硬编码。所以我在JS文件中尝试过这个(当然在安装JSRoutingBundle之后):

function prepareChart() {
$url = Routing.generate('someaction');
$.get( $url, function( data ) {
    <do something>
}, "json" );
}

这是routing.yml条目:

  ajax:
  resource: "@ApiBundle/Controller/AjaxController.php"
  prefix: /ajax/
  type: rest
  options:
    expose: true

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题--FOSRestBundle不支持'name'属性 - 我的控制器的路径是自动生成的,我必须通过执行php app / console debug从路由器中检索所有路由的名称:router in控制台。