【发布时间】:2016-03-30 15:09:35
【问题描述】:
我需要创建一个状态下拉列表,这样一旦我从国家/地区下拉列表中选择国家/地区,那么该国家/地区的状态下拉列表应该使用 Ajax 出现。 出现错误后出现错误。
试图调用“FOS\UserBundle\Controller\RegistrationController”类的名为“getDoctrine”的未定义方法
AJAX 被调用,国家的 id 被传递给控制器,主要问题是 getDoctrine 函数。
这是我的控制器。
我是 symfony 的新手,请帮助我。
public function getStateAction(Request $request)
{
$em1 = $this->getDoctrine()->getManager();
$data = $request->request->all();
$countryId = $data['id'];
$repository = $em->getRepository('FOSUserBundle:State');
$query = $repository->createQueryBuilder('p');
$query->where('p.country ='.$countryId);
$query->orderBy('p.id', 'ASC');
$stateList = $query->getQuery()->getResult();
//print_r($stateList); die;
}
这是我的 ajax
$(document).ready(function(){
$("#fos_user_registration_form_country_id").change(function(){
var countryId = $(this).val();
if(countryId!=0){
$.ajax({
type: "POST",
url: "{{ path('fos_user_registration_country') }}",
data: {id: countryId},
cache: false,
success: function(result){
("#fos_user_registration_form_state_id").append(result);
}
});
}
});
});
【问题讨论】:
-
请更正您的语法并以更好的方式组织您的文本。