我有一个注册页面,用于检查另一个webmethod以查看数据库中是否存在特定值。
对于电子邮件验证,我有
//Checks the email against the database.
$(emailTextbox).blur(function () {
if ($(this).val()) {
email = encodeURI(escape($(this).val()));
alert(email);
$.getJSON('/CheckAvailable.aspx?' + email + ".email", function (results) {
if (results.email == "true") {
availabilityEmail.html('<img src="/App_Themes/DefaultTheme/misc/tick.png"/>');
email = true;
CheckValid();
} else {
availabilityEmail.html('<img src="/App_Themes/DefaultTheme/misc/cross.png"/>');
email = false;
CheckValid();
}
});
}
});
使用
private string GetEmail(string email)
{
const string strSql =
"SELECT memberEmail FROM someView WHERE memberEmail = @email";
var sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text };
sqlComm.Parameters.Add(new SqlParameter("@email", SqlDbType.VarChar, 255)).Value = email;
string rdr = (string)sqlComm.ExecuteScalar();
return !string.IsNullOrEmpty(rdr) ? "\"" + "email" + "\"" + " : " + "\"" + "false" + "\"" : "\"" + "email" + "\"" + " : " + "\"" + "true" + "\"" + "\n";
}
但是当我使用JQuery
时似乎永远不会发布.
方法。我甚至试图用\\.
来逃避它,但它仍然不起作用。
有人可以帮忙吗?
修改
使用encodeURI或不使用encodeURI没有任何区别。尝试将字符串转换为值也会产生相同的结果。
答案 0 :(得分:0)
调试应用程序并通过在jsonlint.com等JSON验证程序中粘贴它来检查返回的JSON结果。从外观上看,你的JSON缺少逗号。
查看有关JSON on Wiki的更多信息。