2016-04-09 5 views
0

でアヤックス結果とPHPのコードを呼び出す:私はAJAXを使用して、いくつかのPHPコードを呼び出すようにしようとしているエラー

$(document).ready(function() { 
    $("#email_address").on("keypress", function() { 
     request = $.ajax({ 
      url: '../verify_email.php', 
      data: {email: $("#email_address").val(), 
        submitted: true}, 
      type: 'post' 
     }); 

     request.done(function(response) { 
      //fooling around to see if this works 
      if(response) { 
       alert("valid email"); 
      } else { 
       alert("invalid email"); 
      } 
     }); 

     request.error(function(response) { 
      alert("an error occurred"); 
     }); 
    }); 
}); 

はしかし、request.error機能が実行されます。なぜ私はあまりよく分からない。ここにPHPコード:

<?php 
    if(isset($_POST['submitted']) and isset($_POST['email'])) { 
     if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
      echo 'true'; 
     } else { 
      echo 'false'; 
     } 
    } 
?> 

ありがとうございます。

+1

あなたが反応して何がありますか? – Tal87

+1

Chromeのウェブインスペクタ(フィルタXHR)の[ネットワーク]タブをご覧ください。そこから必要な情報をすべて取得する必要があります; – paulgv

答えて

1

ugh、noob間違い。私は、Webページの代わりに.jsファイルに相対的なphp urlを設定していました。それが可能になっていた。

request = $.ajax({ 
     url: 'verify_email.php' 

代わりの

request = $.ajax({ 
     url: '../verify_email.php', 

私は、Chromeのウェブインスペクタを使用してそれを考え出しました。私は今日2つの新しいことを学びました。つまり、URLとChromeのWebインスペクタの使い方を教えてください。おかげですべてのあなたの助け

+1

こんにちは@Matt、PHPファイルのtrue/falseを返すjavascriptで正常に動作しますか? – Cuchu

+1

こんにちは@Cuchu - 思い出してくれてありがとう。それが私がコードで持っていたもう一つの問題でした。私は価値をエコーし​​なければならないことは分かりませんでした。私は、人々を混乱させないように、それを反映するために質問を編集しました。ありがとう – Matt

1

のためにあなたのURLの作業罰金は、PHPでJSONを返すようにしようとした場合;)

<?php 
    $return = false; 

    if(isset($_POST['submitted']) and isset($_POST['email'])) { 
     if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
      $return = true; 
     } else { 
      $return = false; 
     } 
    } 

header('Content-Type: application/json'); 
echo json_encode(array('result' => $return)); 
die; 

?> 

とJavaScript試みで:

request.done(function(response) { 
      //fooling around to see if this works 
      if(response.result) { 
       alert("valid email"); 
      } else { 
       alert("invalid email"); 
      } 
     }); 
+0

nice!私はそのショットを与えるだろう:) – Matt

関連する問題