質問編集履歴

1 外部サービスへのリンクを削除しコードを添付

balls

balls score 40

2018/08/13 03:09  投稿

ajaxでphp上で出力したDefineで指定したテキストを受け取るには
現在、下記のindex.hmtlを実行してメールを送信すると、
console.log(result); の結果が、
EMAIL_TO_YOU_SUCCESS<br>EMAIL_TO_QUESTIONER_SUCCESS
となってしまいます。
EMAIL_TO_YOU_SUCCESS
EMAIL_TO_QUESTIONER_SUCCESS
もmail/config.php でテキストを指定していますが、これをindex.htmlのconsole上で表示させるにはどうしたらいいでしょうか?
テキスト形式にはこだわっておらずjson形式でも何でもよいです。
ご教示のほどよろしくお願いいたします。
コードは下記となります。
https://github.com/yutakatsuchida/single-mail-form-with-ajax-php
```PHP
define("EMAIL_TO_YOU_SUCCESS", "Your message has been sent successfully!");
define("EMAIL_TO_QUESTIONER_SUCCESS", "Your message has been sent to you successfully!");
if (mb_send_mail(YOUR_EMAIL, QUESTIONER_SUBJECT, $to_you_massage, $to_you_header)) {
           // if the message is sent
           print EMAIL_TO_YOU_SUCCESS;
} else {
           // if the message is failed to send
           print EMAIL_TO_YOU_FAILED;
}
```
```jQuery
$.ajax({
                       url: $form.attr('action'),
                       type: $form.attr('method'),
                       data: $form.serialize(),
                       timeout: 10000, 
                       beforeSend: function(xhr, settings) {
                           // disable the submit button prevending from double sending
                           $submitButton.attr('disabled', true);
                       },
                       complete: function(xhr, textStatus) {
                           // re-activate the submit button
                           $submitButton.attr('disabled', false);
                       },
               
                       // after success to send
                       success: function(result, textStatus, xhr) {
                           // initialize values
                           $form[0].reset();
                           alert('OK');
                           console.log(result);
                       },
               
                       // if any sending errors
                       error: function(xhr, textStatus, error) {
                           alert('NG...');
                       }
                   });
```
```html
<form method="post" action="./mail/sendmail.php">
       <div class="form-group">
           <label for="fullname">Full Name</label>
           <input id="fullname" class="form-control" type="text" name="fullname" value="">
       </div>
     
       
       <button type="submit" class="btn btn-primary">Submit</button>
   </form>
```
  • PHP

    30457 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • jQuery

    10757 questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • Ajax

    1745 questions

    Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る