【问题标题】:FOSJsRoutingBundle does not see a route from FOSRESTBundleFOSJsRoutingBundle 没有看到来自 FOSRESTBundle 的路由
【发布时间】:2016-01-25 08:04:15
【问题描述】:

我想从我的 JS 访问到 FOSRESTBundle 控制器的 API 路由。我正在使用 FOSJSRoutingBundle,但该路由不可见(我收到“路由 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

【问题讨论】:

    标签: javascript php ajax symfony fosrestbundle


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-03-14
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 2015-05-22
      • 2015-10-22
      相关资源
      最近更新 更多