我安裝了這個軟件包: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