Javascript FOSJsRoutingBundle未看到来自FOSRESTBundle的路由
我想从我的JS访问到FOSRESTBundle控制器的API路由。我使用的是FOSJSRoutingBundle,但路由不可见(我得到的是“路由xxx不存在”错误) 这是来自我的控制器的操作:Javascript FOSJsRoutingBundle未看到来自FOSRESTBundle的路由,javascript,php,ajax,symfony,fosrestbundle,Javascript,Php,Ajax,Symfony,Fosrestbundle,我想从我的JS访问到FOSRESTBundle控制器的API路由。我使用的是FOSJSRoutingBundle,但路由不可见(我得到的是“路由xxx不存在”错误) 这是来自我的控制器的操作: namespace ApiBundle\Controller; use FOS\RestBundle\Controller\FOSRestController; use FOS\RestBundle\Controller\Annotations\Get; class AjaxController e
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之后):
我已经解决了这个问题-FOSRestBundle不支持'name'属性-到我控制器的路径是自动生成的,我必须通过在控制台中执行php app/console debug:router从所有路由列表中检索它的名称。我已经解决了这个问题-FOSRestBundle不支持'name'属性-到我控制器的路径控制器是自动生成的,我必须通过在控制台中执行php app/console debug:router从所有路由列表中检索它的名称
function prepareChart() {
$url = Routing.generate('someaction');
$.get( $url, function( data ) {
<do something>
}, "json" );
}
ajax:
resource: "@ApiBundle/Controller/AjaxController.php"
prefix: /ajax/
type: rest
options:
expose: true