私はJSON
としてリポジトリオブジェクトを送信しようとしている上、JSONとしてリポジトリからのオブジェクトを返す方法 私のコントローラのコード:Symfony3
if($request->isXmlHttpRequest()){
$data = $request->request->get('id');
$bedroom = $em->getRepository('EpitaHousingBundle:Bedroom')->findOneBy(array('id'=>$data));
$this->container->get('logger')->addInfo('somesh');
return $json = new Response(json_encode(array('bedroom' => $bedroom)));
}
私のjavascriptのコード:ここ
$(document).ready(function(){
var id_select = $('#bedroom_view_bedroom').val();
$.ajax({
type: 'POST',
url: '{{ (path('listingview', {'id': id})) }}',
contentType: 'application/x-www-form-urlencoded',
data: {id:id_select},
success: function(result,status,xhr){
var inst_arr = JSON.parse(result);
console.log(inst_arr);
},
error: function(xhr, status, error) {
console.log(status);
}
});
});
私は応答として空オブジェクトを取得します。 symfony3を使用してjsonとしてリポジトリオブジェクトを送信するにはどうすればいいですか?私を助けてください。事前のおかげで...
編集:私は私がしようとした場合、それが
jquery.min.js:4 POST http://localhost/epitahousing/web/app_dev.php/provider/listing/view/8 500 (Internal Server Error)error
を示す
if ($request->isXmlHttpRequest()) {
$data = $request->request->get('id');
$bedroom = $em->getRepository('EpitaHousingBundle:Bedroom')->findOneBy(array('id' => $data));
if (null === $bedroom) {
$bedroomJson = '';
}
$this->container->get('logger')->addInfo('somesh');
$serializer = $this->container->get('serializer');
$bedroomJson = $serializer->serialize($bedroom, 'json');
return new Response($bedroomJson, Response::HTTP_OK, ['content-type' => 'application/json']);
}
コンソールのようなコードの下にしようとしたことが間違っている場合知らない
xmlHttpRequestの前にリポジトリオブジェクトを見つける
$bedroom = $em->getRepository('EpitaHousingBundle:Bedroom')->findOneBy(array('id' => '12'));
if ($request->isXmlHttpRequest()) {
//code
}
がここに適切なオブジェクトを示したが、間違った
EDIT2行くいただきました!私は本当にJSONを知らない:私は一人一人のために...今では正常に動作しています。このよう 感謝を行って
$bedroom = $this->em->getRepository('EpitaHousingBundle:Bedroom')->findOneBy(array('id'=>$data));
$output['rentamount'] = $bedroom->getRentamount();
$output['rentcurrency'] = $bedroom->getRentcurrency()->getValue();
$output['rentduration'] = $bedroom->getRentduration()->getValue();
$output['bondamount'] = $bedroom->getBondamount();
$output['bondcurrency'] = $bedroom->getBondcurrency()->getValue();
$output['leaseminduration'] = $bedroom->getLeaseminduration()->getValue();
$output['leasemaxduration'] = $bedroom->getLeasemaxduration()->getValue();
return $json = new Response(json_encode($output));
...など貴重な応答
私の答えはあなたを助けましたか?はいの場合はそれを受け入れてください:) – Mcsky