基本的に登録ページであるアプリケーションに取り組んでいます。データベース内の既存の電子メール 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にあまり慣れておらず、それを始めたばかりなので、簡単に答えてください