【发布时间】: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