0
我會盡力解釋我的問題。我有一個實體與另外兩個具有多對多關係的實體結合在一起。我想要實現的是使用ajax post方法進行搜索,並接收連接表中連接的所有可能的組合。從Ajax發佈請求中接收空對象
我真正的問題是,只有當我在第一個實體中搜索時,我纔會收到有效的回調數據。
控制器:
if ($request->isXmlHttpRequest()) {
$name = $request->request->get('person_name');
/** @var EntityRepository $repository */
$repository = $this->getDoctrine()->getManager()->getRepository('AppBundle:Connectors');
$qb = $repository->createQueryBuilder('connectors')
->leftJoin('connectors.contacts', 'contacts')
->leftJoin('contacts.cables', 'cables');
$qb->where('connectors.description LIKE :param');
$qb->setParameter('param','%'.$name.'%');
$connectors = [];
$contacts = [];
$cables = [];
foreach ($qb->getQuery()->getResult() as $connector) {
$connectors[] = $connector;
foreach ($connector->getContacts() as $contact) {
$contacts[] = $contact;
foreach ($contact->getCable() as $cable) {
$cables[] = $cable;
}
}
}
// $Data = $qb->getQuery()->getArrayResult();
return new JsonResponse(json_encode($contacts));
}
在這一點上,我想送$觸點陣列我收到的是空(NULL),但更有趣的是[{},{},{},{},{ }]花括號的數量與我想要接收的聯繫數量相同!
如果註釋行未被註釋並且$ Data作爲響應發送,則沒有問題。
的JS
$('#call_back_btn').click(function() {
$.post("/app_dev.php/AjaxSearch" ,
{
person_name:$('#input_text').val()
} ,
function (data)
{
console.log(data);
var obj = JSON.parse(data);
console.log(obj);
// for (var key in data)
// {
// if(data.hasOwnProperty(key)){
// console.log(data);
// }
// }
$('#resposeText').val(obj[1].description);
}
);
})
}
);
我會感激你的幫助
這裏是我的控制檯輸出:
你要呼應出你想要返回的數據。@ Metio_1993 –
即使我附和數據,沒有什麼發生 –
您是否觀看過瀏覽器的開發人員工具中的AJAX請求/響應?你有沒有在項目中包含jQuery庫?是否有任何錯誤報告?你在網絡服務器上運行這個嗎? –