ajaxを使ってメール送信したくて、こちらのサイト https://tadworks.jp/archives/1122 と、
phpの方は こちら http://www.htmq.com/tutorial/30_10.shtml も参考にそれぞれのコードを書きました。
html
1<input type="text" id="send-name" name="send-name" placeholder="名前を入力してください。" value="" /><br> 2<input type="email" id="send-email" name="send-email" placeholder="メールアドレスを入力してください。" value="" /><br> 3<input type="text" placeholder="件名を入力してください。" id="send-subject" name="send-subject" value="" /><br> 4<textarea type="text" placeholder="メッセージを入力して下さい。" id="send-body" rows="10" name="send-body"></textarea> 5<input type="hidden" name="test" value="" id="formtest"> 6<input type="button" id="send-btn" value="送信する"> 7<div></div>
jQuery
1 2$(function() { 3 // 送信確認 4 $('#send-btn').on('click', function() { 5 6 // フォームから入力値を取得 7 var name = $('#send-name').val(); 8 var subject = $('#send-subject').val(); 9 var body = $('#send-body').val(); 10 var email =$('#send-email').val(); 11 var formtest =$('#formtest').val(); 12 13 // 入力内容の確認 14 15 if(formtest != ""){ 16 if(name != "" && subject != "" && body != "" && email != ""){ 17 18 // PHPに送信 19 $.ajax({ 20 type: 'POST', 21 dataType: 'json', 22 url: "https://~~~~~~~~/main.php", 23 data: { 24 name:name, 25 email:email, 26 subject:subject, 27 body:body 28 }, 29 success: function( data ) { 30 if(data.match(/success/)){ 31 $('div').text("送信が完了しました。"); 32 location.href = "./"; // 送信後戻り先URL 33 } 34 }, 35 error: function() { 36 $('div').text("予期せぬエラーが発生しました。"); 37 } 38 }); 39 } else { 40 $('div').text("未入力の項目があります。"); 41 42} 43 } else{ 44 $('div').text("このリクエストは受け付け出来ません。"); 45 } 46}); 47});
PHP
1 2<?php 3// データ取得 4$name = filter_input( INPUT_POST, "name" ); 5$subject = filter_input(INPUT_POST,'subject'); 6$email = filter_input(INPUT_POST,'email'); 7$body =filter_input(INPUT_POST,'body'); 8 9 $honbun = ''; 10 $honbun .= "メールフォームよりお問い合わせがありました。\n\n"; 11 $honbun .= "【お名前】\n"; 12 $honbun .= $name."\n\n"; 13 $honbun .= "【メールアドレス】\n"; 14 $honbun .= $email."\n\n"; 15 $honbun .= "【お問い合わせ内容】\n"; 16 $honbun .= $body."\n\n"; 17 18 //エンコード処理 19 mb_language("Japanese"); 20 mb_internal_encoding("UTF-8"); 21 22 //メールの作成 23 $mail_to = "~~~~~@~~~~~"; //送信先メールアドレス 24 $mail_subject = $subject; //メールの件名 25 $mail_body = $honbun; //メールの本文 26 $mail_header = "from:".$email; //送信元として表示されるメールアドレス 27 //メール送信処理 28 $mailsousin = mb_send_mail($mail_to, $mail_subject, $mail_body, $mail_header); 29 //メール送信結果 30 if($mailsousin == true) { 31 echo "success"; 32 } 33
これで送信ボタンを押すと、メール送信自体は正常に出来るのですが、送信ボタン下のdivの所には、
「予期せぬエラーが発生しました。」という、エラーメッセージが表示されてしまいます。
chromeのConsoleには何もエラーメッセージは出ていません。
この原因がわかりますでしょうか? よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー