我有一个小问题,已经成为***中的一大难题,所以我有一个post方法将Jquery AJAX用于我的实体,其中一个帖子数据然后在实体中搜索,如果有一个值。如果有值,则应在文本字段中显示该值。第一部分完成,所以我可以显示实体的价值,但问题是我无法弄明白我如何才能只显示价值的描述。 例如:
[{“id”:1,“nC”:“31261”,“description”:“05P SUBD”}] 这是我如何得到我的价值,我只想在文本字段中显示描述。
Controller的代码:
/**
* @Route("/AjaxSearch", name="Search_HomePage")
*
* @return JsonResponse|\Symfony\Component\HttpFoundation\Response
*/
public function AjaxSearchAction(Request $request)
{
if ($request->isXmlHttpRequest()) {
$name = $request->request->get('person_name');
/** @var EntityRepository $repository */
$repository = $this->getDoctrine()->getRepository('AppBundle:Connectors');
$qb = $repository->createQueryBuilder('contacts')
->where('contacts.nC = :param' )
->setParameter('param',$name);
$Data = $qb->getQuery()->getArrayResult();
echo json_encode($Data); return $this->render('MyIndex/Manufacturer_LIST.html.twig');
}
HTML:
<div class="response_wrapper">
<textarea id="resposeText"></textarea>
</div>
这是我的java脚本:
$(document).ready(
function ()
{
$('#call_back_btn' ).click(function() {
$.post("/app_dev.php/AjaxSearch" ,
{
person_name:$('#input_text').val()
} ,
function (data)
{
var obj = JSON.parse(data);
console.log(obj);
document.getElementById('#demo').innerHTML =
obj.id + "<br>" +
obj.nC;
$('#resposeText').html(obj);
}
);
})
}
);
我已经尝试了一些在这里得到解答的例子,但没有成功,所以有人可以帮我解决这个问题。
答案 0 :(得分:0)
如果我理解你的问题,我认为它会帮助你。
$('#resposeText').html(obj[0].description);
答案 1 :(得分:0)
问题是:来自控制器的返回数据未正确发送。正确的方法是:
return new JsonResponse(json_encode($Data));
和JS
function (data)
{
console.log(data);
var obj = JSON.parse(data);
console.log(obj);
$('#resposeText').val(obj[1].description);