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 ...
随机推荐
- 解读ASP.NET 5 & MVC6系列(4):核心技术与环境配置
asp.net 5是下一代的asp.net,该版本进行了全部重写以适用于跨平台,新新版本中,微软引入了如下工具与命令:DNVM.DNX.DNU. DNVM(.NET Version Manager): ...
- 使用密码记录工具keepass来保存密码
在第一章,曾经给过您建议,密码不要保存在文档中,那样不安全,如果密码很多而且又很复杂,人的大脑是不可能很容易记住的,只能记录下来,如果不能记在文档中那记在哪里呢?下面介绍给您一款记录密码的软件,使用. ...
- Emacs 配置文件
以下是我整理的 emacs 配置文件,供刚开始玩 emacs 的同学参考.网上有人说:emacs 是神的编辑器,如果能够用到这样的编辑器,那这个人就是神了.从我个人的经验来看,emacs 是一把利器, ...
- Opengl中矩阵和perspective/ortho的相互转换
Opengl中矩阵和perspective/ortho的相互转换 定义矩阵 Opengl变换需要用四维矩阵.我们来定义这样的矩阵. +BIT祝威+悄悄在此留下版了个权的信息说: 四维向量 首先,我们定 ...
- ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...
- AJAX简介
基本介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML). 国内翻译常为“阿贾克斯”和阿贾克斯足球队同音.Web应用的交互如Fli ...
- 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展
上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...
- WCF学习之旅—WCF第二个示例(七)
三.创建客户端应用程序 若要创建客户端应用程序,你将另外添加一个项目,添加对该项目的服务引用,配置数据源,并创建一个用户界面以显示服务中的数据. 在第一个步骤中,你将 Windows 窗体项目添加到解 ...
- The Installation and Compilation of OpenCASCADE
OpenCASCADE的编译 The Installation and Compilation of OpenCASCADE eryar@163.com 一. 安装OpenCASCADE 可以从Ope ...
- Linux随笔之——./configure、make、make install(转)
原文连接:http://www.linuxidc.com/Linux/2011-02/32211.htm 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./con ...