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 ...
随机推荐
- linux下对2个连通的串口读写遇到的问题
想要分析下zmodem协议,搜索发现linux下的工具lrzsz是一个包含x,y,z modem传输的工具,下载其源码,下载.它可以借助各种串行的接口进行数据传输,比如串口,socket也可以,这点描 ...
- docker-containerd 启动流程分析
一般在docker启动时,containerd的启动命令如下所示: root 2090 0.0 0.1 292780 11008 ? Ssl 10月22 0:12 docker-containerd ...
- oracle转Mysql中,varchar2(10)和number应该转换为什么类型?
一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类 ...
- js原生捕鱼达人(一)
捕鱼达人的游戏大家都很熟悉吧,接下来的两三天,我会将整个游戏的原生js写法详细的写出来,整个游戏应用了面向对象的写法:创建构造函数,在构造函数上面添加对象的属性,然后在构造函数的原型上添加方法,当然这 ...
- Struts登录
- 如何在.net4.0中使用.net4.5的async/await
推荐文章: http://www.cnblogs.com/hj4444/p/3857771.html http://www.cnblogs.com/dozer/archive/2012/03/06/a ...
- JS第一个动画
描述:让页面中的一个盒子平稳向右移动到指定位置 <div id="div1"> <div> JS代码实现 <script type="tex ...
- 小程序基础02:全局配置app.json
1.配置 我们使用app.json文件来对来微信小程序进行全局配置. 作用:他决定了页面文件的路径,窗口表现,设置网络超时时间,设置多tab等 每一个小程序页面也可以使用 .json 文件来对本页面的 ...
- 使用ajax跨域withCredentials的作用
默认情况下,跨源请求不提供凭据(cookie.HTTP认证及客户端SSL证明等).通过将withCredentials属性设置为true,可以指定某个请求应该发送凭据.如果服务器接收带凭据的请求,会用 ...
- 为什么我的SQL server 在附加数据库后,数据库总是变成了只读?
我从同学那拷贝来一个数据库,在他那都可以用,可是当我附加到自己SQL Server上时,数据库显示为只读,我查看过数据库源文件所在的文件夹都正常!请高手指教!谢谢 ================== ...