我需要創建一個狀態下拉列表,以便在我從國家drop_down選擇國家後,應該使用Ajax指出該國家的drop_down。 我收到錯誤消息。getDoctrine()不能在FOSUserBundle中工作symfony2
試圖調用名爲「getDoctrine」類的「FOS \ UserBundle \控制器\這個RegistrationController」
的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);
}
});
}
});
});
請更正您的語法並以更好的方式構建您的文本。 – kwoxer