我安装了这个软件包:GenemuFormBudnle,我尝试做一个ajax自动完成。我有这个在我的表格:Symfony 2自动完成路由
$builder
->add('PermitsCompany', 'genemu_jqueryautocompleter_entity', array(
'route_name' => 'ajax_company',
'class' => 'MainCoreBundle:Company',
));
这在我的控制器:NewController.php
/**
* @Route("/ajax_company", name="ajax_company")
*/
public function ajaxCompanyAction(Request $request)
{
$value = $request->get('id');
$permits = $this->getDoctrine()->getRepository('JokerCoreBundle:Company')->findAjaxValue($value);
$json = array();
foreach ($permits as $permit) {
$json[] = array(
'label' => $permit->getName(),
'value' => $permit->getId()
);
}
$response = new Response();
$response->setContent(json_encode($json));
return $response;
}
而这在我的路线:
ajax_company:
defaults: { _controller: MainCoreBundle:Permits:ajaxCompany}
pattern: /ajax_company/
type: annotation
下面是一个错误信息:
AnnotationException:[语义错误]在 方法主要\ CoreBundle \控制器\ NewController :: ajaxCompanyAction() 注释 “@Route” 从未被导入。你可能忘记为这个注释添加一个“使用”语句 ?
现在错误消失感谢:)但你有什么想法为什么autocomplete仍然没有工作?我得到一个空的文本输入,但是当我输入的东西不会自动完成它... – Cre3k 2014-10-21 21:32:38
这是一个路线问题? – Cre3k 2014-10-21 21:33:27
@ Cre3k您应该检查开发工具或Firebug中的控制台和网络选项卡,具体取决于您使用的浏览器。您是否尝试直接在浏览器中加载'/ ajax_company'路线? – sjagr 2014-10-21 21:34:32