Php 无法通过Laravel 5联系人表单发送电子邮件
我是拉威尔的新手,尝试通过联系方式发送电子邮件 这是html表单:Php 无法通过Laravel 5联系人表单发送电子邮件,php,jquery,ajax,forms,laravel-5,Php,Jquery,Ajax,Forms,Laravel 5,我是拉威尔的新手,尝试通过联系方式发送电子邮件 这是html表单: <form onsubmit="return false" method="post" id="contact_form" name="contact-form"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="text" placeholder="Full Na
<form onsubmit="return false" method="post" id="contact_form" name="contact-form">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="text" placeholder="Full Name" name="fullname" id="fullname" required>
<input placeholder="Email Address" required name="email" id="email">
<button id="contact_btn"data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Sending" >Send Your Message</button>
</form>
这是路线:
Route::post('contact', 'PagesController@contactPost');
这是我在laravel.logs上发现的最后一个错误:
[2017-08-11 06:30:53] local.ERROR: ErrorException: Use of undefined constant csrf_token - assumed 'csrf_token' in C:\xampp\htdocs\paygizer\storage\framework\views\b9aff2e30c0efeff3b03704fbc6a957f360869cf.php:385
无论我做什么,错误从昨天起就不会更新,我重新启动了服务器好几次
这是ajax调用:
$('#contact_form').submit(function(e) {
e.preventDefault();
}).validate({
rules: {
fullname: {
required: true,
},
email: {
required: true,
email: true
},
},
submitHandler: function (form) {
var btn = $('#contact_btn');
btn.button('loading');
setTimeout(function() {
btn.button('reset');
}, 8000);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: 'POST',
url: "{{url('contact')}}",
// data: form.serialize(),
dataType: 'json',
async: true,
data: {
fullname: $('#fullname').val(),
email: $('#email').val(),
},
success: function (json) {
$('#contact').hide();
$('#output').html(
'<i class="fa fa-check" aria-hidden="true" id="check" style="border-radius:50%;font-size:80px;text-align:center;color:#E81B00"></i><br><p class="lead" style="font-size:40px;">We have received your message!</p>'
).show();
},
error: function(data){
alert(data);
},
});
return false; // for demo
}
});
$('contact#u form')。提交(函数(e){
e、 预防默认值();
}).validate({
规则:{
全名:{
要求:正确,
},
电邮:{
要求:正确,
电子邮件:真的
},
},
submitHandler:函数(表单){
var btn=$(“#联系_btn”);
按钮(“加载”);
setTimeout(函数(){
btn.按钮(“重置”);
}, 8000);
$.ajaxSetup({
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
},
键入:“POST”,
url:“{url('contact')}}”,
//数据:form.serialize(),
数据类型:“json”,
async:true,
数据:{
全名:$(“#全名”).val(),
电子邮件:$('#email').val(),
},
成功:函数(json){
$(“#联系人”).hide();
$('#output').html(
“
我们已收到您的邮件!
”
).show();
},
错误:函数(数据){
警报(数据);
},
});
返回false;//用于演示
}
});
Chrome开发工具上没有错误。当我点击“提交”按钮时,将加载,但什么也没有发生。1)尝试替换
<input type="hidden" name="_token" value="{{ csrf_token() }}">
2) 由于它是一个ajax调用,您确定csrf令牌元存在吗
<meta name="csrf-token" content="{{ csrf_token() }}">
同样,页面加载和成功代码没有生效,我也没有收到电子邮件。我们可以在聊天中继续吗?
{{ csrf_field() }}
<meta name="csrf-token" content="{{ csrf_token() }}">