サーバーからデータをリクエストする際に複数の問題が発生した後、この質問を投稿しました。そのコードが機能しなかったので、最終的に ajax リクエスト全体を書き直して、データベースにデータを挿入できるようになりました。
しかし、私が今抱えている問題は、私の ajax リクエストに送り返されている responseText が私の html を更新していないことです。
登録スクリプトの最後に、すべての値がデータベースに挿入された後、登録メールがユーザーに送信されたことを確認し、文字列を ajax リクエストに送り返す次のコードがあります。
if (mail($to, $subject, $message, $headers)) {
echo "email_success";
exit;
} else {
echo "email_failure";
exit;
}
応答が受信されたら、返された文字列をテストする次の条件があります。
hr.onreadystatechange = function() {
if (hr.readyState == 4 && hr.status == 200) {
if (hr.responseText == "email_success") {
window.scrollTo(0,0);
gebi("signupform").innerHTML = "<p>Sign up successful. Check you email to activate you account.</p>";
} else {
gebi("status").innerHTML = hr.responseText;
gebi("signupbtn").style.display = "block";
}
}
}
私が抱えている問題は、"signup_success"
文字列が認識されずtrue
、代わりにこのelseステートメントが発生することです。
私は何を間違っていますか?