本人小白 如有错误请指出
ajax 早已大行其道,最基础的便是验证用户名。
现在就用ajax 结合 .ashx 做一个用户名验证
//页面部分
<script type="text/javascript">
//可以用很多方法来触发 比如
// $(function(){
//$("#btnuserName"). onbluer(function(){
// $.ajax({
//.........
// })
//})
//})
function checkout() {
$.ajax({
url: "Handler1.ashx", //地址
data:
{
"type": "ajax",
"name":encodeURIComponent( $("#btnuserName").val()) //encodeURIComponent() 用于加密 如有中文 特殊符号《= $ # ...》则会用%+16进制数加密
},
type: "get",
dataType: "text",
success: function (data) {
$("#lblstate").text(data);
}
})
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
用户名:<asp:TextBox ID="btnuserName" runat="server"></asp:TextBox>
<input onblur="checkout()" type="button" value="校验" />
<label id="lblstate"></label>
</div>
</form>
</body>
</html>
`//一般处理程序中书写代码``
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Ajax
{
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if(context.Request["type"]=="ajax")
{
if(context.Request["name"]!="")
{
string name = context.Request["name"];
//此处可以访问数据库 查询 数据库中是否包含该用户名
//自己小小试验下 所以没有访问数据库
context.Response.Write(HttpUtility.UrlDecode(name)+ " is pass");//HttpUtility.UrlDecode() 用于解析js含有编码的字符串
context.Response.End();
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
运行结果
“`