0

サーバーからデータをリクエストする際に複数の問題が発生した後、この質問を投稿しました。そのコードが機能しなかったので、最終的に 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ステートメントが発生することです。

私は何を間違っていますか?

4

1 に答える 1