2017-02-25 9 views
0

このコードで何が問題になりましたか?私はこの問題について多くの投稿を準備していますが、私のエラーを修正することはできません。私には次のものがあります。AjaxでPHPの成功と失敗のメッセージを表示

HTMLコード

<div id="successMessage" style="display:none;"> It worked </div> 
    <div id="failMessage" style="display:none;"> It failed </div> 

    <div container> 
      <div class="modal"> 
      <form> 
      .... 
      </form> 
      </div> 
    </div> 

PHPコード

if(!$stmnt->execute()){ 
      echo "Failed!"; 

     }else{ 
      echo "Inserted"; 
     } 

AJAXコード

success: function(data){ 
    viewData(); 
    if (data=="Failed!") { 
     console.log(data); 
     $("#failMessage").show(); 

     } else if(data=="Inserted"){ 
      console.log(data); 
      $("#successMessage").show(); 
     } 
    } 

問題:コンソールにないページにエラーを表示したいと思います。私はユーザーに知らせたい。 $("#successMessage").show();と連携しないのはなぜですか?

PS:私はブートストラップを使用してい。また、1つのdiv="msg"タグを使用してメッセージを表示するにはどうすればよいですか?

+2

のフォーマットを修正するためにelseを変更します。プラス、あなたの "else"が間違っています... else if(data === 'Inserted') ' – Canastro

+0

@Canastroどのように返すのですか? – JWizard

+0

@Canastroしかし、私が 'console.log(data)'を使って印刷すると、なぜそれがコンソールに表示されているのでしょうか? – JWizard

答えて

1

は、あなたのコードに誤り

PHPコード

if(!$stmnt->execute()){ 
     echo "Failed!"; // Check the exclamation mark 

    }else{ 
     echo "Inserted"; 
    } 

AJAXコード

success: function(data){ 
     viewData(); 
     $('#addData').modal('hide');//close the modal. 
     if (data=="Failed!") { // Add an exclamation mark to correct code 
      $("#failMessage").show(); 
      //console.log(data); is showing message from PHP 
     } else if (data=="Inserted") { // Change this else to else if 
      $("#successMessage").show(); 
      //console.log(data); is showing message from PHP 
     } 

AJAXに "Failed!" 変更 "Failed" を発見します。また、あなたが実際には何も返していない、「エコー」をやっているelse if

+0

に進めよう – JWizard

+0

@Giovanrich何出力PHPが成功をエコーされたときにあなたを取得しています? – Ayush

+0

「成功」をエコーする必要があるのはDBに挿入されています – JWizard

関連する問題