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>