本文演示如何利用jQuery的AJAX功能调用ASP.NET页面中的静态WebMethod方法。通过C#后端定义验证逻辑,前端使用jQuery发送POST请求并处理JSON响应,实现无需刷新页面即可验证用户名是否已注册的功能。
服务器端WebMethod定义
首先需要在服务器端定义好可供调用的方法。
C#后端验证逻辑
[System.Web.Services.WebMethod]
public static string VeryUserName(string name)
{
string rtn = "恭喜,此帐号还没有注册,你可以使用。";
if (name == "")
rtn = "请填写一个注册帐号。";
if (name == "Insus.NET")
rtn = "此用户已经注册,请使用另外帐号。";
return rtn;
}
前端HTML结构
接下来编写HTML前端代码,包含用于输入用户名的文本框以及触发验证的按钮。
注册按钮与输入框
<asp:TextBox ID="TextBoxAccount" runat="server"></asp:TextBox><br />
<input id="btnrReg" type="button" value="注册" onclick="VeryRegAccount()" />
jQuery AJAX调用实现
最后编写JavaScript脚本,利用jQuery库发起异步请求,将用户输入的数据发送至服务器端方法,并处理返回的成功或失败结果。
JavaScript脚本代码
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function VeryRegAccount() {
$.ajax({
type: "POST",
url: "Default.aspx/VeryUserName",
data: '{name: "' + $("#<%= TextBoxAccount.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
</script>