jquery访问ashx文件示例代码

前端技术 2023/08/09 JavaScript

.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>

本文地址:https://www.stayed.cn/item/755

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。