我试图使用ajax将数据从我的输入发送到我的控制器以保存数据在db但我得到了这个错误 我试图发送数据,但我的控制器动作没有收到任何信息
这是我的剧本
<form method="post">
<textarea id="txt" class="form-control input-lg no-border" rows="2"
placeholder="What are you doing?..."></textarea>
<div class="panel-footer">
<button type="button" class="btn btn-success pull-right mt-5" id="btnpost">POST</button>
<ul class="nav nav-pills">
<li><a href="#"><i class="fa fa-map-marker"></i></a></li>
<li><a href="#"><i class="fa fa-camera"></i></a></li>
<li><a href="#"><i class="fa fa-smile-o"></i></a></li>
</ul><!-- /.nav nav-pills -->
</div><!-- /.panel-footer -->
</form>
<script>
$("#btnpost").click(function () {
var text = $('#txt').val();
$.ajax({
type: 'POST',
url: '{{ path("group_new",{'id':id}) }}',
data: { desc:text }
})
})
</script>
这是我的控制器动作
public function newGroupeAction(Request $request , $id)
{
$em = $this->getDoctrine()->getManager();
//get group description
$descgrp = $em->getRepository("GroupGroupBundle:Groupe")->findOneBy(array('id'=>$id))->getDescriptiongroupe();
// get member string
$str = $em->getRepository("GroupGroupBundle:Groupe")->findOneBy(array('id'=>$id));
//get array member with arrtibute
$member = $em->getRepository("GroupGroupBundle:Groupe")->getmemberlist($str->getMembres());
// get image string
$stri = $em->getRepository("GroupGroupBundle:Groupe")->findOneBy(array('id'=>$id));
// get array image with attribute
$images = $em->getRepository("GroupGroupBundle:Image")->getimagelist($stri->getListimage());
if ($request->isXmlHttpRequest() && $request->isMethod('POST')) {
$publication = new Publication();
$des = $request->get('desc');
$publication->setDescription($des);
var_dump('test');
$em = $this->getDoctrine()->getManager();
$em->persist($publication);
$em->flush();
return new Response('test');
}
return $this->render('@GroupGroup/layout/newGroupe.html.twig',array("id"=>$id,"mem"=>$member,"nb"=>sizeof($member),"img"=>$images,"desc"=>$descgrp,"imgnb"=>sizeof($images)));
}
答案 0 :(得分:1)
我有类似的问题。你使用APCu吗?
我在Chrome或Apache 2.4自动终止进程中遇到了AJAX请求: net :: ERR_CONNECTION_RESET 的问题......
我的解决方案(显着减少错误):在php.ini
中禁用APCU配置。
答案 1 :(得分:0)
检查您的控制器,看看您是否可以获得&#39; desc&#39;请求中的参数。如果你为'desc&#39;取得空,那么可能是POST数据大小超过你的服务器限制,因此导致你的ajax调用失败
答案 2 :(得分:0)
对我来说是php opcache-我评论说在php.ini中,然后AJAX调用起作用了。 (它不是在Symfony中,而是在PHP应用程序和Chrome浏览器中。)