0
フォームをLaravelプロジェクトで電子メールで送信しようとしています。しかし、私は500エラーを受け取り続ける。私はthisのチュートリアルに従っています。AJAX(Laravel 5.4)経由で電子メールを送信すると500エラーが発生する
これがルートである:
Route::post('contact', '[email protected]');
これはコントローラである:
public function contact(Request $request) {
$this->validate($request, [
'email'=>'required|email',
'fullname'=>'max:50'
]);
$data = array(
'email' => $request->email,
'fullname' => $request->fullname,
);
Mail::send('emails.contact', $data, function($message) use ($data){
$message->from($data['email']);
$message->to('[email protected]');
});
}
これは、以前の質問によって示されるようにCSRFとHTMLフォームを含む図です。
<form onsubmit="return false" method="post" id="contact_form" name="contact-form">
<input type="hidden" name="_token" value="{{ csrf_field() }}">
<input type="text" class="form-control" name="fullname" id="fullname" required>
<input class="form-control" aria-describedby='sizing-addon1' placeholder="Email Address" required name="email" id="email">
<button id="contact_btn" data-loading-text="Sending" >Send Your Message</button>
</form>
これは、AJAXコードです:クロームdevのツールで
$('#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);
$.ajax({
type: 'POST',
url: "{{url('contact')}}",
dataType: 'json',
async: true,
data: {
fullname: $('#fullname').val(),
email: $('#email').val(),
},
success: function (json) {
$('#contact').hide();
$('#output').html(
'<p>We have received your message!</p>'
).show();
}
});
return false;
}
});
:
は、リソースの読み込みに失敗しました:サーバーは500 (内部サーバーエラー)の状態で応答し
ログの最後のセクションは無用です。 '#1'はあなたが確認したいものです –
httpサーバのエラーログを確認してください。 – Wolen
'$ data ['subject']' __not__は存在します。 –