ajax请求模拟登录
前台
@if (Session["username"] != null)
{
<div class="login">
<span style="width:155px;height:85px;display:inline-block;margin-left:50px;margin-top:25px;text-align:center">
@(Session["username"]) 您好!<br />欢迎登录@(ChaoXingPMS.Utils.Site.Name)。<br /><a href="interfaceapi?mode=exit&backurl=@(Server.UrlEncode(Request.Url.AbsoluteUri))">退出</a>
</span>
</div>
}
else
{
<div class="login">
证 号: <input type="text" name="username" id="username" class="zjh" /><br />
密 码: <input type="password" name="pw" id="pw" class="mm" /><br />
<input class="login_btn" type="button" value="登录" name="button" id="login" style="cursor:pointer"/>
</div>
}
js:
$(function () {
$("#btn_login").click(function () {
$(".pop_login").css("display", "block");
$(".pop_last").css("display", "block");
});
$("#close").click(function () {
$(".pop_login").css("display", "none");
$(".pop_last").css("display", "none");
});
$("#username").keydown(function () {
if (event.keyCode == ) //回车键的键值为13
$("#login").click(); //调用登录按钮的登录事件
})
$("#pw").keydown(function () {
if (event.keyCode == ) //回车键的键值为13
$("#login").click(); //调用登录按钮的登录事件
})
$("#login").click(function () {
var name = $("#username").val();
var pw = $("#pw").val();
if (name == "" || pw == "") {
$("#tip").html("<em>* </em>账号密码不能为空");
return;
}
$.ajax({
type: "post",
dataType: "json",
data: "username=" + name + "&password=" + pw + "&mode=" + loginmode + "&time=" + (new Date().getTime()),
//url: "InterFaceAPI",
url: "/interface/LoginData.cshtml",
error: function (XmlHttpRequest, textStatus, errorThrown) { alert(XmlHttpRequest.responseText); },
success: function (d) {
if (d.status == ) {
$("#tip").html("");
//window.location = '/';
location.reload();
//$("#logindiv").html("<div class='login_top'>用户登录</div><span style='line-height:58px;'>" + d.uname + " 您好!<br/>欢迎登录" + d.wname + "。<a href='/interface/LoginData.cshtml?outtype=logout'> 退出</a></span>");
}
else {
$("#tip").html("<em>* </em>" + d.message);
}
}
});
});
})
ajax请求:
var username = HttpContext.Current.Request["username"];
var password = HttpContext.Current.Request["password"];
var loging_url = appSetting["loging_url"].ToString();
var pwdm5 = ChaoXingPMS.Utils.MD5.Lower32(password);
string formUrl = loging_url;//url地址
string returnUrl = "";
//string logintypej = "CALLNO";
//string URL = "ReaderTable.aspx";
string formData = "returnUrl=" + returnUrl + "&rdid=" + username + "&rdPasswd=" + pwdm5;
CookieContainer cookieContainer = new CookieContainer();
// 将提交的字符串数据转换成字节数组
byte[] postData = Encoding.UTF8.GetBytes(formData);
HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;
Encoding myEncoding = Encoding.GetEncoding("gb2312");
request.Method = "POST";
request.KeepAlive = false;
request.AllowAutoRedirect = true;
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
request.CookieContainer = cookieContainer;
request.ContentLength = postData.Length;
// 提交请求数据
System.IO.Stream outputStream = request.GetRequestStream();
outputStream.Write(postData, , postData.Length);
outputStream.Close(); HttpWebResponse response;
Stream responseStream;
StreamReader reader;
string srcString;
response = request.GetResponse() as HttpWebResponse;
responseStream = response.GetResponseStream();
reader = new System.IO.StreamReader(responseStream, Encoding.UTF8);
srcString = reader.ReadToEnd();
reader.Close(); //关闭流对象
reader.Close();
responseStream.Close();
reader.Close();
response.Close(); //确认是否能获取权限
if (srcString.IndexOf("欢迎您") > )
{
Session["isNowLogin"] = ;//是否是登陆动作
Session["isLogin"] = ;//是否登陆成功
Session["username"] = username;
Session["password"] = password;
Session["logingMsg"] = "登录成功!";
if (IsAjax)
{
ExecuteResult(c => c.Json(new { status = , uname = username, upwd = password}));
return;
} }
else
{
Session["isNowLogin"] = ;
Session["isLogin"] = ;
Session["logingMsg"] = "登录失败!";
string message = "登录失败!";
if (IsAjax)
{
ExecuteResult(c => c.Json(new { status = , message = message }));
return;
}
}
ajax请求模拟登录的更多相关文章
- Python post请求模拟登录淘宝并爬取商品列表
一.前言 大概是一个月前就开始做淘宝的爬虫了,从最开始的用selenium用户配置到selenium模拟登录,再到这次的post请求模拟登录.一共是三篇博客,记录了我爬取淘宝网的经历.期间也有朋友向我 ...
- 2020.10.20 利用POST请求模拟登录知乎
前两天学习了Python的requests模块的相关内容,对于用GET和PSOT请求访问网页以抓取需要的内容有了初步的了解,想要再从一些复杂的网站积累些经验.最开始我采用最简单的get(url)方法想 ...
- 利用POST请求模拟登录豆瓣
需要用requests库 豆瓣上次更新后,就不能通过直接的requests.post()方式直接传递参数登录了.必须新建session,先GET请求,然后POST才能成功.原因未知 data参数中的四 ...
- C#模拟登录后请求查询
需求是这样子的,想开发一个外挂程序,能够抓取别的系统的数据,从而实现数据验证. 比如这样一个界面: 使用Chrome浏览器分析http请求和响应过程以及页面的html代码,发现这是一个ajax请求,于 ...
- day78_淘淘商城项目_11_单点登录系统实现 + 用户名回显 + ajax请求跨域问题详解_匠心笔记
课程计划 1.SSO注册功能实现 2.SSO登录功能实现 3.通过token获得用户信息 4.ajax跨域请求解决方案--jsonp 1.服务接口实现 SSO系统就是解决分布式环境下登录问题的,本 ...
- 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转
在.NET中验证用户是否登录或者是否过期,若需要登录时则将请求转向至登录页面. 这个流程在进行页面请求时是没问题的,能正确进行页面跳转. 然而在使用xmlhttprequest时,或者jq的getJs ...
- 使用 jQuery Mockjax 插件模拟 Ajax 请求
在实际的开发过程中,前端后台协商好了统一的接口,就各自开始自己的任务了.这时候我有这么一个 Ajax 请求需要从后台获取数据: $.ajax({ url: '/products/' }).done(f ...
- AJAX请求遭遇未登录和Session失效的解决方案
使用技术:HTML + Servlet + Filter + jQuery 一般来说我们的项目都有登录过滤器,一般请求足以搞定.但是AJAX却是例外的,所以解决方法是设置响应为session失效. 一 ...
- Session失效后所有Ajax请求跳转登录地址
当登录的Session失效后,采用ajax请求数据时会没有反应,这时候应该自动跳转到登录页面,让用户重新登录. 全局配置以下可实现 $(function() { $.ajaxSetup({ compl ...
随机推荐
- 烂泥:KVM、kickstart与FTP集成
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在上一篇文章中,我们介绍了有关KVM.kickstart与NFS集成的相关内容.在这节我们将继续介绍FTP与KVM.kickstart集成的相关操作. ...
- 计算几何--判断两条线段相交--poj 2653
Pick-up sticks Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 8862 Accepted: 3262 De ...
- hdu 2583 permutation
permutation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- java帮助文档下载
JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和 ...
- 再学TSQL基础--单表查询
本内容是我学习tsql2008的阅读笔记 什么是关系模型? 若对列创建唯一约束,背后中的物理机制也是创建了一个唯一索引. SQL语句的逻辑解析顺序是FROM WHERE GROUP BY HAVING ...
- ZooKeeper系列1:ZooKeeper的配置
问题导读:1.zookeeper有哪些配置文件?2.zookeeper最低配置需要哪些配置项?3.zookeeper高级配置需要配置哪些项? ZooKeeper 的功能特性通过 ZooKeeper 配 ...
- 【Android 基础】Animation 动画介绍和实现
在前面PopupWindow 实现显示仿腾讯新闻底部弹出菜单有用到Animation动画效果来实现菜单的显示和隐藏,本文就来介绍下吧. 1.Animation 动画类型 Android的animati ...
- UVALive 6263 The Dragon and the knights --统计,直线分平面
题意:给n条直线,将一个平面分成很多个部分,再给m个骑士的坐标,在一个部分内只要有一个骑士即可保护该部分,问给出的m个骑士是不是保护了所有部分. 解法:计算每个骑士与每条直线的位置关系(上面还是下面) ...
- POJ 2318 TOYS【叉积+二分】
今天开始学习计算几何,百度了两篇文章,与君共勉! 计算几何入门题推荐 计算几何基础知识 题意:有一个盒子,被n块木板分成n+1个区域,每个木板从左到右出现,并且不交叉. 有m个玩具(可以看成点)放在这 ...
- Android Studio运行程序出现Session ‘app’: Error Launching activity 解决办法
session "app":error launching activity 一下两种方法,可以轻松解决: 1. 2.把复选框去除: