PHP で処理される HTML フォームがあり、それは単純なログイン スクリプトです。これは問題なく動作しますが、AJAX でエラーをキャッチしたいと考えています。基本的に、ログインをチェックする PHP 関数が false を返した場合、そのエラーを jQuery 経由で DOM に書き込む必要があります。ただし、AJAX でフォーム送信をキャッチすると、PHP ファイルがリダイレクトを停止します。PHP ファイルが false を返す場合にのみ、フォームのリダイレクトを停止したいと考えています。どんな助けでも大歓迎です。私が話していることを説明するためのコードを次に示します。
controller_login.js
$(document).ready(function(){
$('form.loginSubmit').on('submit',function(){
var that = $(this),
url=that.attr('action'),
type=that.attr('method'),
data={};
that.find('[name]').each(function(index,value){
var that=$(this),
name=that.attr('name');
value=that.val();
data[name]=value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(response){
errorHandle(response);
}
});
return false;
});
});
function errorHandle(error)
{
console.log(error);
}
これは、PHP エラーが発生した場合に最終的に DOM を変更するファイルです。今のところ、ログのみです。
checkLogin.php
if($verifySqlRequest==1){
session_register("loginUsername");
session_register("loginPassword");
header("location:http://localhost/asd/dashboard.html");
echo "login success!";
}
else{
echo "Wrong user name or password...";
}
これはログイン認証のほんの一部ですが、基本的には最後のエコーを に送信したいのですがcontroller_login.js
、ログインが正常に認証された場合はリダイレクトを続行する必要があります。どんな助けでも大歓迎です!, ありがとう!