我检查,如果电子邮件存在或不使用JavaScript,但它是发射“电子邮件已经存在”每次即使电子邮件不存在.代码如下:
JavaScript代码:
function chkemailExist(source, args) {
var exists;
$.ajax({
type: "POST",
url: "Register.aspx/DoesUserExist",
data: "{'emailid': '" + args.Value + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (result) {
exists = result.d;
}
});
args.IsValid = exists;
if (!exists) {
var message="Email already exist for" + args.Value + ". ";
alert(message);
}
else { document.getElementById('ContentPlaceHolder1_CustomValidator1').innerHTML = ""; }
}
字符串
Web方式:
[WebMethod]
public static bool DoesUserExist(string emailid)
{
Boolean flg = true;
//Int32 cntchk = 0;
PAL_Register reg = new PAL_Register();
BAL_Register bal_reg = new BAL_Register();
reg.UserName = emailid;
flg = bal_reg.checkusername(reg);
return flg;
}
型
请帮助我得到正确的代码,所以它火警报存在的电子邮件,只有当电子邮件已经存在于实际。
3条答案
按热度按时间ergxz8rk1#
AJAX是异步的-你试图对一个还不存在的变量执行逻辑操作,因为调用正在进行中。在回调中执行你的工作吧!
字符串
piv4azn72#
注解可能是真的,但我觉得还有另一个问题:在JavaScript中,一个非空的字符串总是计算为true,并且由于来自服务器的响应不是键入的(如果我没有弄错的话),它总是计算为
true
是字符串“true”还是“false”.你应该测试字符串值或返回false
的空字符串。cfr this fiddle
xzlaal3s3#
字符串