ajax配合一般处理程序(.ashx)登录的一般写法
前端:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>首页</title>
<script type="text/javascript" src="JQuery/jquery.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="txtlogin" value="车辆管理员1" />
<input type="button" onclick="Login()" value="登录" />
</div>
</form>
<script type="text/javascript">
function Login() {
//var userid = $("#txtlogin").val();
$.ajax({
type: "post",
url: "CarManager/ashx/User.ashx",
data: { "action": "userlogin", "username": $("#txtlogin").val() },
dataType: "json",
success: function (data) {
if (data.msg="1") {
location.href = "CarManager/Main.aspx";
}
}
});
}
</script>
</body>
</html>
后端:
public class User : IHttpHandler, IRequiresSessionState
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; StringBuilder _strContent = new StringBuilder();
if (_strContent.Length == 0)
{
string _strAction = context.Request.Params["action"];
if (string.IsNullOrEmpty(_strAction))
{
_strContent.Append("{\"msg\": \"0\", \"msgbox\": \"禁止访问!\",\"rows\": []}");
}
else
{
switch (_strAction.Trim().ToLower())
{
case "userlogin": _strContent.Append(UserLogin(context)); break;
default: break;
}
}
}
context.Response.Write(_strContent.ToString());
} private string UserLogin(HttpContext context)
{
string result = "";
string _username = context.Request.Form["username"];
string _password = context.Request.Form["password"];
Model.cmUser model = new Model.cmUser();
if (context.Session["UserModel"] != null)
{//当前浏览器已经有用户登录 判断是不是当前输入的用户
model = (Model.cmUser)context.Session["UserModel"];
if (model.Name != _username)
{
result = "{\"msg\": \"0\", \"msgbox\": \"此浏览器已经有其他用户登录!\"}";
}
else
{
result = "{\"msg\": \"1\", \"msgbox\": \"登录成功!\"}";
}
}
else
{
BLL.cmUser bll = new BLL.cmUser();
string strWhere = string.Format("[Name]='{0}'", _username);// and [Password]='{1}', _password
DataTable dt = bll.GetList(1, strWhere, " ID ").Tables[0];
if (dt != null)
{//用户和密码正确
int _userid = 0;
int.TryParse(dt.Rows[0]["ID"].ToString(), out _userid);
model.ID = _userid;
model.Name = dt.Rows[0]["Name"].ToString();
int _type = 0;
int.TryParse(dt.Rows[0]["Type"].ToString(), out _type);
model.Type = _type; context.Session["UserModel"] = model;
result = "{\"msg\": \"1\", \"msgbox\": \"登录成功!\"}";
}
else
{
result= "{\"msg\": \"0\", \"msgbox\": \"用户名或密码错误!\"}"; ;
}
}
return result;
} public bool IsReusable
{
get
{
return false;
}
}
}
ajax配合一般处理程序(.ashx)登录的一般写法的更多相关文章
- 用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误
通过 ajax() 与 一般处理程序,请求数据库数据,实现界面无刷新. Jquery ajax 请求参数详细说明 http://www.w3school.com.cn/jquery/ajax_ajax ...
- Jquery EasyUI +Ajax +Json +一般处理程序 实现数据的前台与后台的交互 --- 善良公社项目
经过上一篇博客,本节主要是来看实现的功能是后台的数据通过json数据传过来,前台修改的数据再传回数据库之后页面再次更新table中的数据: 图示: 实例:前台的代码 <%--表格显示区--%&g ...
- ASP.NET -- 一般处理程序ashx
ASP.NET -- 一般处理程序ashx 如果在一个html页面向服务器端请求数据,可用ashx作为后台页面处理数据.ashx适合用作数据后台处理,相当于WebForm中的aspx.cs文件或 ...
- jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- jQuery获取一般处理程序(ashx)的JSON数据
昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...
- casperjs配合phantomjs实现自动登录百度,模拟点击等等操作 - 怕虎在线www.ipahoo.com图文教程 - 怕虎在线
微信支付取消2万元保证金门槛,这是全民电商来袭!-观点-虎嗅网 微信支付取消2万元保证金门槛,这是全民电商来袭! casperjs配合phantomjs实现自动登录百度,模拟点击等等操作 - 怕虎在线 ...
- ssh-keygen配合ssh_config免密码登录VPS
ssh-keygen配合ssh_config免密码登录VPS Posted by fiture / 2012年12月29日 / 「Ubuntu」「分享」 用过终端登录远程服务器或者VPS的童鞋都用过类 ...
- ajax配合art-template模板引擎的使用
最近才接触js的模板引擎听说相比以前使用的js foreach加载后台返回的json数据简便很多而且效率方面也很不错.今天自己玩了一下 后台使用的是.net mvc,数据库脚本就不提供了,返回的Jso ...
随机推荐
- 浅谈Android应用保护(零):出发点和背景
近几年来,无线平台特别是Android平台的安全逐渐成为各厂商关注的重点.各种新的思路和玩法层出不穷.所以,笔者基于前一段时间的学习和整理,写了这系列关于Android应用安全和保护的文章. 这5篇文 ...
- C#集合类型大盘点
C#集体类型( Collections in C#) 集合是.NET FCL(Framework Class Library)中很重要的一部分,也是我们开发当中最常用到的功能之一,几乎是无处不在.俗话 ...
- iOS开发系列--C语言之指针
概览 指针是C语言的精髓,但是很多初学者往往对于指针的概念并不深刻,以至于学完之后随着时间的推移越来越模糊,感觉指针难以掌握,本文通过简单的例子试图将指针解释清楚,今天的重点有几个方面: 什么是指针 ...
- Unicode编码解码在线转换工具
// Unicode编码解码在线转换工具 Unicode 是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standar ...
- 我所理解的RESTful Web API [Web标准篇]
REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一 ...
- EF:split your EDMX file into multiple diagrams
我们可以把一个EDMX文件划分为多个类图: 1.在VS中打开EDMX设计器: 2.切换到“模型浏览器”属性设置窗口: 3.在diagrams上右键菜单中选择“添加新的关系图”: 4.在原来的关系图上可 ...
- cookie自动登录的实现
cookie自动登录是指把用户登录的信息按期限(自定)保存在客户端,当用户请求登录时判断客户端用没有cookie对象,有的话填充值,否则登录界面的输入框为空,不进行填充. 登录界面 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...
- 页面静态化技术Freemarker技术的介绍及使用实例.
一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 ...
- 2013 duilib入门简明教程 -- VS环境配置(2)
既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错误,以及路径配置错误等等,还有人不知道SVN,然后一个个文件手动下载的. 其实吧,duili ...