我想在不刷新页面的情况下将数据从视图(Twig)发送到控制器,所以我使用了ajax,以便将数据传递给特定的控制器动作。 这是我在树枝文件中的ajax代码:
<script>
var data = {request : $('#content').val()};
$.ajax({
type: "POST",
url: "{{ path('AjoutAjax') }}",
data: data,
success: function (data, dataType) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('Error : ' + errorThrown);
}
});
</script>
这是我的树枝文件:
<div class="column text-lg">Subtotal: <span class="text-medium" id="content">
这是我的控制器操作:
public function AjoutAjaxAction(Request $request)
{
$data = $request->request->get('request');
echo $data;
$em = $this->getDoctrine()->getManager();
$reservation = $em->getRepository('techeventBundle:Panier')->find(11);
$reservation->setTotal($data);
$em->flush();
return $this->render('@reservation/Default/afficherPanier.html.twig');
}
这是路由文件
affichage:
path: /afficherPanier/{iduser}
defaults: { _controller: reservationBundle:Default:afficherPanier }
AjoutAjax:
path: /ajoutAjax
defaults: { _controller: reservationBundle:Default:AjoutAjax }
问题是:
1 /它没有将数据发送到控制器动作,因为当我尝试使用路径'AjoutAjax'时,它没有显示回显'$ data'。
2 /我应该使用任何路径对“ affichage”或“ AjoutAjax”进行测试以了解其是否有效? '
答案 0 :(得分:0)
我不是前端开发人员,但我认为您应该在span元素上使用.html()
或.text()
而不是.val()