为什么我的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();
但没有发生任何事情
谢谢你的帮助。
答案 0 :(得分:0)
使用AJAX,POST请求在客户端不可见。
如果要查看print_r();die;
,则必须在提交前打开控制台,在网络选项卡中,提交后,打开列表中创建的POST请求,然后查看预览或响应选项卡。
您alert(data)
的返回HTML肯定是Symfony2 PHP错误,就像您在GET路由上看到的那样,或者只是POST方法返回的响应。
打开网络浏览器控制台的“预览”选项卡,您将看到Symfony在请求路由上返回的PHP错误,如HTML预览。
您的数据变量代表您的Symfony POST操作返回的响应,如果您返回电子邮件,这将是您的电子邮件,如果您成功返回true,则确实如此。