0
我想通過ajax調用控制器來將實體更新到db中。但是,我只知道如何使用Symfony的形式更新實體。目前我有一個表單將被jQuery方法附加並通過ajax提交,但是我在控制器中做了什麼。Symfony2,Doctrine2,更新實體
阿賈克斯:
$("#editctrno").on("submit", function(event) {
event.preventDefault();
$.ajax({
url: "{{ path('containers_edit') }}",
type: "POST",
data: {'ctrno' : $("#ctrno").val(),
'refno' : $("#refno").val()},
dataType: "json",
success: function(data) {
console.log(data[0].ctrno);
}
});
});
現在我控制器上:
/**
* @Route("/edit/", name="containers_edit", defaults={"_format" = "json"})
*/
public function editCtr(Request $request) {
$ctrno = $request->get('ctrno');
$refno = $request->get('refno');
$em = $this->getDoctrine()->getManager()->getRepository('Bundle:Ref');
// I want to access in the database to find the 'refno' and update the 'ctrno',
// something like:
// $entity = $em->findRefno($refno);
// $entity->setCtrno($ctrno);
// $em->flush();
return new Response(json_encode($entity));
}
這有什麼建議?
喜歡有正常形式,只是不要忘記在jQuery中序列化數據。 – 2014-09-05 17:53:56
看看這裏 - http://codemonkeys.be/2013/01/ajaxify-your-symfony2-forms-with-jquery/ – dmnptr 2014-09-05 17:59:02
什麼不工作? – Toskan 2014-09-05 18:05:39