实施邮枪';当前表单上的Jquery电子邮件验证程序
我正在尝试将Mailgun的jQuery电子邮件验证程序集成到当前表单中。到目前为止,我已经能够得到电子邮件验证消息出现在我的网站上。然而,我无法让它与提交按钮正常工作。它要么给出一条验证消息,让任何人都在提交时通过,要么显示消息,让所有人都通过 您可以看到我复制的代码:实施邮枪';当前表单上的Jquery电子邮件验证程序,jquery,mailgun,Jquery,Mailgun,我正在尝试将Mailgun的jQuery电子邮件验证程序集成到当前表单中。到目前为止,我已经能够得到电子邮件验证消息出现在我的网站上。然而,我无法让它与提交按钮正常工作。它要么给出一条验证消息,让任何人都在提交时通过,要么显示消息,让所有人都通过 您可以看到我复制的代码: 我将其连接到我自己的表单中,当我按Enter键或单击Submit按钮时,什么都没有发生。我假设它与底部函数中的无返回代码有关。但我不知道该放在哪里,让它显示验证消息,然后允许提交它成功,如果不成功,则不允许有人通过。如果您拥有
我将其连接到我自己的表单中,当我按Enter键或单击Submit按钮时,什么都没有发生。我假设它与底部函数中的无返回代码有关。但我不知道该放在哪里,让它显示验证消息,然后允许提交它成功,如果不成功,则不允许有人通过。如果您拥有API密钥(在这种情况下,您可以使用可以从mailgun的控制面板检索的公钥),您可以在此处尝试实时演示: 代码是一样的,也许如果你可以编辑你的问题并添加你正在使用的代码,我可以帮助你调试它
:)MailGun jQuery示例是一个异步请求,提交过程可以在不等待MailGun api响应的情况下工作 您需要向webmethod发出同步请求。您可以使用以下代码
function validateEmailByMailGun(Email){
$.ajax({
type: "POST",
url: "alpha.aspx/CheckEmail",
data: "{UserName:'" + Email + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function Success(msg) {
isMailGunValidEmail = msg.d; //can have true, false or error
},
error: function (xhr, ajaxOptions, thrownError) {
isMailGunValidEmail = false;
isMailGunError = true;
}
});
}
在alpha.aspx中,创建一个webmethod
[System.Web.Services.WebMethod]
public static object CheckEmail(string UserName)
{
var http = (HttpWebRequest)WebRequest.Create("https://api.mailgun.net/v2/address/validate?address=" + UserName);
http.Credentials = new NetworkCredential("api","put your public key here");
http.Timeout = 5000;
try
{
var response = http.GetResponse();
var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();
JSON.JsonObject js = new JSON.JsonObject(content);
return Convert.ToBoolean(js["is_valid"]);
}
catch (Exception ex)
{
}
}
嘿,你知道为什么我自己的公钥不起作用吗?如果使用演示页面中的公钥,验证程序工作正常