jquery访问ashx文件示例代码
.ashx文件用于写webhandler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。
.ashx文件适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。很多需要用到此种处理方式。此文档提供一个简单的调用ashx文件的Demo,并贴出关键文件的源码。
以下为Demo中Login.ashx文件中的源码:
publicclassLogin:IHttpHandler{
publicvoidProcessRequest(HttpContextcontext){
context.Response.ContentType="application/json";
//GET方式获取传递的数据
//stringusername=context.Request.QueryString["username"];
//stringpassword=context.Request.QueryString["password"];
//POST方式获取传递的数据
stringusername=context.Request.Form["username"];
stringpassword=context.Request.Form["password"];
stringmessage=null;
if(string.IsNullOrEmpty(username))
{
message="用户名不能为空";
context.Response.Write("{\"success\":false,\"message\":\""+message+"\"}");//此JSON格式非常重要,否则会执行jquery的的error函数
context.Response.End();
}
if(string.IsNullOrEmpty(password))
{
message="密码不能为空";
context.Response.Write("{\"success\":false,\"message\":\""+message+"\"}");
context.Response.End();
}
if(!string.IsNullOrEmpty(username)&&!string.IsNullOrEmpty(password))
{
if(username.ToUpper()=="ADMIN"&&password=="123")
{
message="登录成功";
context.Response.Write("{\"success\":true,\"message\":\""+message+"\"}");
}
else
{
message="用户名或密码错误";
context.Response.Write("{\"success\":false,\"message\":\""+message+"\"}");
}
}
context.Response.End();
}
publicboolIsReusable{
get{
returnfalse;
}
}
}
以下为html中的源码:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jsquery访问ashx文件</title>
<scriptlanguage="javascript"type="text/javascript"src="Scripts/jquery-1.4.1.min.js"></script>
<scriptlanguage="javascript"type="text/javascript">
functionlogin(){
$.ajax({
url:'common/handler/Login.ashx',
type:'POST',
data:{'username':$("#txtUsername").val(),'password':$("#txtPassword").val()},
dataType:'json',
timeout:50000,
//contentType:'application/json;charset=utf-8',
success:function(response){
alert(response.message);
},
error:function(err){
alert("执行失败");
}
});
}
</script>
</head>
<body>
<divstyle="width:400px;height:300px;margin:0auto;background:#c0c0c0;">
<dlstyle="width:270px;">
<dd><span>用户名:</span><inputtype="text"style="width:150px;"id="txtUsername"/></dd>
<dd><span>密码:</span><inputtype="password"style="width:150px;"id="txtPassword"/></dd>
<dd><inputtype="button"style="width:65px;height:23px;float:right;"onclick="login()"value="登录"/></dd>
</dl>
</div>
</body>
</html>