私は、ユーザーがログインすることができなかったときに表示されるようにブートストラップ警告を取得しようとしている。失敗したログイン時にAjaxを介したPOST PHPエラー
これを行うために、私はアヤックス(jQueryの)を使用してポスティングしています私のjQueryの
$message = "Your Email or Password combination were incorrect. Please try again.";
echo json_encode($message);
header('Location: /');
と:私のindex.phpここ
上のスクリプトへのリダイレクト時にエラーが、login.php上のPHPで
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: "message",
success: function (response) {
var message = jQuery.parseJSON(message);
$('#alert').text(message);
}
})
});
</script>
私は何を達成しようとしていることである:行1列1の時、予想外の文字:私は不正なログインを行うと
User tries to log in (and fails)
Redirected to home page (as my login form is in the header)
Error alert is shown, with the $message content as the error text.
は私が
JSON.parseを取得(エラーをトリガするために) JSONデータ
私はまだjQueryの初心者ですが、他の例に従うようにしています。これは、おそらく私のコードが意味をなさない(なぜそれが動作しないのか)理由です。
Firefoxでfirebugを使用してjQueryをデバッグしています。 $(this).attr('action')
あなた$.ajax
呼び出しでやっている:あなたの時間
あなたのajax関数呼び出しスクリプトは何ですか?それは 'login.php'ですか? – Keeleon
メッセージが存在しない場合、これは(jQuery.parseJSON(message);)エラーを起こすと思います。おそらくあなたがやりたいことは '' '' '' '' '' '変数です。また、php ajaxコードはあなたの期待される応答をエコーするだけで、ヘッダのリダイレクトはしません。 – georaldc
はい、私のajax関数はlogin.phpを呼び出しています – PublicDisplayName