2016-07-17 3 views
0

javascriptでlikeボタンを押した後に問題があります。空のアラートウィンドウがポップアップします。jsアラートをPHPのエコーメッセージだけでポップアップする方法は?

<script type='text/javascript'> 
    function like(btn) { 
     var username = '<?php echo $username ?>'; 
     var dataString = 'username=' + username; 
      $.ajax({ 
       type: 'POST', 
       url: 'ajaxjs.php', 
       data: dataString, 
       cache: false, 
       success: function(html) { 
       alert(html); 
       } 
      }); 
    } 

ajaxjs.phpファイル:

include ('./include/connect.php'); 
$username = $_POST['username']; 
if ($username == "") { 
echo "You are not logged in"; 
} else { 
mysql_query("INSERT INTO likes VALUES('','$username')"); 
} 

私はajaxjs.phpは、クエリを実行するまで終了した場合、それはときにのみif ($username == "") { echo "You are not logged in";

ではなく、ウィンドウをポップアップします。どのように私はエコーのためにそれを保つが、mysql_query("INSERT INTO likes VALUES('','$username')");のためにそれを防ぐのですか?

+0

成功関数に 'if'文を使用してください。 –

答えて

1

代わりの

alert(html); 

使用

html.length && alert(html); 
+0

これは簡単でした。ありがとう!私はちょうどそれが何をしているのだろうか?つまり、アラートをどうやって防ぐのですか? – Menel

+1

出力されたテキストの長さをチェックします。 0の場合はfalseと解釈され、次のステートメント、アラートは実行されません。したがって、何も出力しないと、何も警告しません。 – jchavannes

2

あなたはif文を使用して、あなたのjavascriptのコードでhtml結果を確認する必要があります。

function like(btn) { 
    var username = '<?php echo $username ?>'; 
    var dataString = 'username=' + username; 
     $.ajax({ 
      type: 'POST', 
      url: 'ajaxjs.php', 
      data: dataString, 
      cache: false, 
      success: function(html) { 
       if(html.length > 0) { 
       alert(html); 
       } 

      } 
     }); 
} 
関連する問題