无法使用ajax请求和symfony 3

时间:2017-02-11 01:54:32

标签: php jquery ajax symfony

我想在输入文本中键入文本并获取此值并将其存储在我的数据库中,并使用包含输入数据的jquery在视图中添加div

这是我的输入表格

    <div class="panel rounded shadow">
    <form method="post">
                    <textarea id="txt" class="form-control input-lg no-border" rows="2"
                              placeholder="What are you doing?..."></textarea>
    </form>
    <div class="panel-footer">
        <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 -->
</div>

我的输入文字就像这样

input text

这是我的剧本

   <script>
            $(document).ready(function() {
                $("#btnpost").click(function () {
                    var text = $('#txt').val();
                    $.ajax({
                        type: 'POST',
                        url: '{{ path('group_addpub') }}',
                        data: {desc: text},
                        complete: function () {
                            $("#publication").prepend('<div class="panel panel-success rounded shadow" style="text-align: left;margin-bottom: 5px;">' +
                                    '<div class="panel-heading no-border">'+
                                    '<div class="pull-left half">'+
                                    '<div class="media" style="text-align: left;">'+
                                    '<div class="media-object pull-left" style="margin-top: 35px;">'+
                                    '<img src="http://bootdey.com/img/Content/avatar/avatar2.png" style="width: 40px;height: 40px;">' +
                                    '</div>'+
                                    '</div>'+
                                    '</div>'+
                                    '<a href="">test profile</a>'+
                                    '<span class="text-white h6" style="display: block; color: black;">on 8th June, 2014</span>'+
                                    '<br>'+
                                    '<span style="color: black;margin-bottom: 10px;word-break: break-all  ">'+text+ '</span>'+


                                    '</div>'+
                                    '</div>'+
                                    '<div class="panel-footer">'+

                                    '<form action="#" class="form-horizontal">'+
                                    '<div class="form-group has-feedback no-margin">'+
                                    '<div style="text-align: right;margin-top: 32px;">'+
                                    '<a href=""><img src="{{ asset('Groupe/img/like-icon.png') }}" style="width:5%;"></a>'+
                                    '<a href="" ><img src="{{ asset('Groupe/img/Unlike-icon.png') }}" style="width:5%;"></a>'+
                                    '</div>'+
                                    '<input class="form-control" type="text" placeholder="Votre commentaire ici..." style="width: 95%;margin-left: 10px;">'+
                                    '</div>'+
                                    '</form>'+
                                    '</div>');


                            $('#txt').val('');

                        }
                    });

                });
            });
        </script>

这是我的控制器动作

public function addpubicationAction(Request $request)
{

    if ($request->isXmlHttpRequest() && $request->isMethod('post') ) {
        $publication = new Publication();
        $des = $request->get('desc');
        var_dump($des);
        $publication->setDescription($des);
        $em = $this->getDoctrine()->getManager();
        $em->persist($publication);
        $em->flush();
        $this->redirectToRoute('group_group_membres');
    }


}

我的jquery脚本工作正常,它正确获取输入并将其添加到div元素test output[![res] 3

但我的问题是我的数据没有存储到数据库中,当我刷新我的页面时,所有前面的内容都被jquery消失了

2 个答案:

答案 0 :(得分:0)

您应该将id =“txt”添加到您的 <input type="text">  标签

你应该改变这个 $request->isMethod('post') 有了这个 $请求 - &GT; isMethod( 'POST')

最好的问候。

答案 1 :(得分:0)