1

基本的に登録ページであるアプリケーションに取り組んでいます。データベース内の既存の電子メール ID を確認して、重複登録を停止したいと考えていました。JQuery の $.get() メソッドを使用してバックグラウンドでページにクエリを実行し、既存のメールまたは存在しないメールの結果を取得しました。ページはローカルで完全に実行されますが、オンラインで"503 Service Unavailable"は、重複した電子メール ID が入力されると返されます。

jQuery メソッドは次のとおりです。

<script type="text/javascript">
$(document).ready(function () {
    $("#ctl00_ContentPlaceHolder1_tbEmail").change(function () {
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        var emailaddressVal = $("#ctl00_ContentPlaceHolder1_tbEmail").val()
        if(!emailReg.test(emailaddressVal)) {
            $("#msgbox").html('Invalid Email ID');
        return;
    }
        $("#ctl00_ContentPlaceHolder1_hidYorN").val("")
        $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
        $.get("scripts/email_availibility.aspx", { user_name: $(this).val() }, function (data) {
            if (data == 'no') 
            {
                $("#msgbox").fadeTo(200, 0.1, function () 
                {
                    $(this).html('This mail id is already registered!').addClass('messageboxerror').fadeTo(900, 1);
                    $("#ctl00_ContentPlaceHolder1_hidYorN").val("N");
                });
            }
            else {
                $("#msgbox").fadeTo(200, 0.1, function ()  
                {
                    $(this).html('You are welcome to register!').addClass('messageboxok').fadeTo(900, 1);
                    $("#ctl00_ContentPlaceHolder1_hidYorN").val("Y");
                });
            }
        });
    });
});
</script>

そして私のaspxページコード(email_availibility.aspx):

string con = ConfigurationManager.ConnectionStrings["myDB"].ConnectionString.ToString();
protected void Page_Load(object sender, EventArgs e)
{
    string data = "no";
    OleDbConnection conn = new OleDbConnection(con);
    string user_name = Request.QueryString["user_name"];
    string strQury = "Select [EmailID] from [RegisterTable] where [EmailID]='" + user_name + "'";
    OleDbCommand cmds = new OleDbCommand(strQury, conn);
    OleDbDataReader dr;
    if (conn.State == ConnectionState.Closed)
        conn.Open();
    dr = cmds.ExecuteReader();
    if (dr.HasRows)
    {
        data = "no";
    }
    else
    {
        data = "yes";
    }
    if (conn.State == ConnectionState.Open)
        conn.Close();
   Response.Write(data);
}

私はJQueryにあまり慣れておらず、それを始めたばかりなので、簡単に答えてください

4

0 に答える 0