为什么我的表单没有在symfony2中使用Ajax提交

时间:2015-08-18 01:47:15

标签: php ajax symfony

为什么我的symfony2表单没有提交? 当我点击提交按钮时,我声明的错误消息显示!

$(document).ready(function(){
$("#addemail").submit(function(){ 
            var mail = $("#email").val()  ;
                $.ajax({
                    type : "POST",
                    url  : "{{ path('store_mailListe') }}",
                    data : {
                            email : mail
                    },
                            success : function(data){
                                alert(mail);
                                if (data === "true") {
                                     alert(data);
                                    $("#email-true").html('<div class="b-shortcode-example"><div class="b-alert-success f-alert-success"><div class="b-right"><i class="fa fa-times-circle-o"></i></div><div class="b-remaining"><i class="fa fa-check-circle-o"></i> Thank you!</div></div> </div>');
                                    return true;
                                }else{
                                        alert(data);
                                        $("#email-true").html('<div class="b-shortcode-example"><div class="b-alert-success f-alert-success"><div class="b-right"><i class="fa fa-times-circle-o"></i></div><div class="b-remaining"><i class="fa fa-check-circle-o"></i> Sorry can you try again</div></div> </div>');
                                    return false;
                                    }

                            }
                });
               return false;
    }); 

});  警报(邮件)显示我的电子邮件,但警报(数据)显示HTML页面代码。 在控制器中有一个make print_r();die();但没有发生任何事情 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

使用AJAX,POST请求在客户端不可见。

如果要查看print_r();die;,则必须在提交前打开控制台,在网络选项卡中,提交后,打开列表中创建的POST请求,然后查看预览或响应选项卡。

alert(data)的返回HTML肯定是Symfony2 PHP错误,就像您在GET路由上看到的那样,或者只是POST方法返回的响应。 打开网络浏览器控制台的“预览”选项卡,您将看到Symfony在请求路由上返回的PHP错误,如HTML预览。

您的数据变量代表您的Symfony POST操作返回的响应,如果您返回电子邮件,这将是您的电子邮件,如果您成功返回true,则确实如此。

How to integrate Ajax with Symfony2