51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

jquery访问ashx文件示例代码

.ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。

.ashx文件适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。很多需要用到此种处理方式。此文档提供一个简单的调用ashx文件的Demo,并贴出关键文件的源码。

以下为Demo中Login.ashx文件中的源码:


public class Login : IHttpHandler { 

public void ProcessRequest (HttpContext context) { 
context.Response.ContentType = "application/json"; 
//GET方式获取传递的数据 
//string username = context.Request.QueryString["username"]; 
//string password = context.Request.QueryString["password"]; 

//POST方式获取传递的数据 
string username = context.Request.Form["username"]; 
string password = context.Request.Form["password"]; 
string message = 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(); 

} 

public bool IsReusable { 
get { 
return false; 
} 
} 
}

以下为html中的源码:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>jsquery访问ashx文件</title> 
<script language="javascript" type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script> 
<script language="javascript" type="text/javascript"> 
function login() { 
$.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> 
<div style="width:400px; height:300px; margin:0 auto; background:#c0c0c0;"> 
<dl style=" width:270px;"> 
<dd><span>用户名:</span><input type="text" style=" width:150px;" id="txtUsername" /></dd> 
<dd><span>密 码:</span><input type="password" style=" width:150px;" id="txtPassword" /></dd> 
<dd><input type="button" style=" width:65px; height:23px; float:right;" onclick="login()" value="登录" /></dd> 
</dl> 
</div> 
</body> 
</html>

赞(0)
未经允许不得转载:工具盒子 » jquery访问ashx文件示例代码