うまくいけば、この素晴らしいサイトの1人が助けてくれるでしょう。私は変数をjQueryのajax呼び出し応答テキストに割り当てることに問題があります。jQueryのAjax応答テキストを変数constantyに代入すると、nullが返されます。
私は提出されたときに、電子メールアドレスがデータベース内で見つかるように私の "checkemail"機能を実行するフォームを持っています。見つかった場合、responseText == "true"、そうでなければ "false"。これはうまく動作し、Firebugを使ってOKでも見えますが、応答テキストを割り当てるべき実際の変数は常に ""表示されているので、関数は常にfalseを返すようになります。
function checkemail(){
var EmailFromForm = $("#lostemail").val();
var EmailCheckRes = $.ajax({
type : "POST",
cache : false,
url : "./scripts/passreset/emailcheck.php",
data : "Email="+EmailFromForm,
dataType : "text",
}).responseText;
if (EmailCheckRes == "true")
{
alert("Should say true: " + EmailCheckRes);
return true;
}
else
{
$("#ErrorMsg").html("Your email address is either invalid or not found.");
alert("Should say false: " + EmailCheckRes);
return false;
}
}
もし誰かが私が間違っていることを指摘してくれれば、大変感謝しています。
こんにちは、応答をありがとう。私は物事を再構成しましたが、成功関数内でtrue/falseを返すことは、全体のチェック・メール関数からではなく、ajax関数からtrue/falseを返すだけなので、いくつかのスコープの問題を引き起こすようです。現時点では、checkemail()は常にtrueに戻り、フォームが送信されます。副次的なこととして、相対URLから絶対URLに変更することは何の違いもないと私は考えていません。 –
@ Dan Twining「成功」コールバックを利用するためにコードを再構成したくないので、別のアプローチをとるように答えを調整しました – jondavidjohn
ありがとう!同期の設定は完全に機能しました。私はここで何かを学んだ。 –