Jquery Ajax 登录,服务端分别为 aspx,ashx,asmx

原文: http://www.cnblogs.com/StudyLife/archive/2012/02/22/2363174.html

【理解asp.net中的ashx、asmx】

常规的Jquery Ajax 验证登录,主要有3种服务端页面相应 ,也就是 aspx,ashx,asmx即webserivice 。

下面分别用3种方式来(aspx,ashx,asmx)做服务端来处理 Jquery  Ajax 传过来的用户名和密码验证!

例: Login.html 请求用户名和密码验证!

<head>
<script type="text/javascript">$(document).ready(function() {$("#go").bind('click', function() {var name = $.trim($("#txtName").val());     // $.trim()去除空格var pwd = $.trim($("#txtPwd").val());if (name == "") { $("#nameResult").html("<font color='red'>用户名不能为空</font>"); }else { $("#nameResult").html(""); }if (pwd == "") { $("#pwdResult").html("<font color='red'>密码不能为空</font>"); }else { $("#pwdResult").html(""); }if (name != "" && pwd != "") {//post 请求$.ajax({type: "post",//服务器相应ajax请求,可以有 aspx页面,ashx页面     url: "AjaxLogin.aspx","AjaxLoginAshx.ashx",url: "AjaxLoginAsmx.asmx/login",          //调用 webserivice 下的login方法cache: false,data: "name=a&&pwd=b",//aspx页面为服务器相应success: function(html) { location.href = "default.aspx"; $("#go").attr("disabled", false) },error: function(html) { alert("登录失败"); $("#go").attr("disabled", false) }});}});});</script>
</head><body><form id="form1" runat="server"><div>用户名<asp:TextBox ID="txtName" runat="server" ></asp:TextBox><span id="nameResult"></span><br />密码<asp:TextBox ID="txtPwd" runat="server"></asp:TextBox><span id="pwdResult"></span><br /><br /><input type="button"  id="go" value="登录" /><asp:Button ID="go1" runat="server" Text="服务器控件登录" onclick="go_Click" /></div></form>
</body>

1.服务端为 AjaxLogin.aspx 页面

首先修改 $.ajax 的 Url:"AjaxLogin.aspx"

 protected void Page_Load(object sender, EventArgs e){if (Request.Form["name"] != null && Request.Form["pwd"] != null){if (Request.Form["name"].ToString().Trim() != "" && Request.Form["pwd"].ToString() != ""){string name = Request.Form["name"].ToString().Trim();string pwd = Request.Form["pwd"].ToString();Response.Cookies.Clear();Response.Cookies.Add(new HttpCookie("name", name)); //添加cookieResponse.Cookies.Add(new HttpCookie("pwd",pwd));//添加密码Response.Write("你已经成功登录");}}}

2. 服务端为 AjaxLoginAshx.ashx 页面  (一般处理程序)

首先修改 $.ajax 的 Url:"AjaxLoginAshx.ashx"; 另:ashx以context.Response.Write 返回内容

 [WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class AjaxLoginAshx : IHttpHandler{public void ProcessRequest(HttpContext context){//context.Response.ContentType = "text/plain";//context.Response.Write("Hello World");if (context.Request.Form["name"] != null && context.Request.Form["pwd"] != null){if (context.Request.Form["name"].ToString().Trim() != "" && context.Request.Form["pwd"].ToString() != ""){string name = context.Request.Form["name"].ToString().Trim();string pwd = context.Request.Form["pwd"].ToString();context.Response.Cookies.Clear();context.Response.Cookies.Add(new HttpCookie("name", name));context.Response.Cookies.Add(new HttpCookie("pwd", pwd));context.Response.Write("你已经成功登录");}else{context.Response.Write("没成功登录1");}}else{context.Response.Write("没成功登录2");}}public bool IsReusable{get{return false;}}

3. 服务端为 AjaxLoginAsmx.asmx页面  (SOAP方式HTTP访问,用XML返回)

首先修改 $.ajax 的 Url:"AjaxLoginAsmx.asmx/login";   注意:  / 后面是方法名

另asmx页面以return 返回内容,response.cookies.add添加cookie

/// <summary>/// AjaxLoginAsmx 的摘要说明/// </summary>[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.ComponentModel.ToolboxItem(false)]public class AjaxLoginAsmx : System.Web.Services.WebService{[WebMethod]public string HelloWorld(){return "Hello World";}[WebMethod]public string login(){if (HttpContext.Current.Request.Form["name"] != null && HttpContext.Current.Request.Form["pwd"] != null){if (HttpContext.Current.Request.Form["name"].ToString().Trim() != "" && HttpContext.Current.Request.Form["pwd"].ToString() != ""){string name = HttpContext.Current.Request.Form["name"].ToString().Trim();string pwd = HttpContext.Current.Request.Form["pwd"].ToString();//HttpContext.Current.Response.Cookies.Add(new HttpCookie("name", name));//HttpContext.Current.Response.Cookies.Add(new HttpCookie("pwd", pwd));//HttpContext.Current.Response.Write("你已经成功登录");HttpContext.Current.Response.Cookies.Add(new HttpCookie("a", "123"));return "Hello World";}else{return "error1";}}else{return "error2";}}

分类: Jquery & Ajax&Javascript

Jquery Ajax 登录,服务端分别为 aspx,ashx,asmx相关推荐

  1. 前端3DOM编程3——Ajax和服务端通信

    1.通信基础    2.HTTP协议    3.Ajax    4.cookie 六.Ajax和服务端通信 1.通信基础 (1)Web服务器搭建 服务器是一台24h不断电.不关机,提供某种服务(文件. ...

  2. 云信服务器代码,云信一键登录服务端API文档-一键登录-网易云信开发文档

    一键登录 > 服务端 API 文档 一键登陆服务端API文档 接口概述 API调用说明 本文档中,所有调用网易云信服务端接口的请求都需要按此规则校验. API checksum校验 以下参数需要 ...

  3. ajax 服务端 除了echo,Ajax轮询——定时的通过Ajax查询服务端

    概念:轮询(polling):客户端按规定时间定时向服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. test.html     //前端代码 var getting = { ur ...

  4. ajax 短轮询_Ajax轮询——“定时的通过Ajax查询服务端”

    Ajax轮询--"定时的通过Ajax查询服务端". 概念: 轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. 百闻 ...

  5. ajax从服务端获取数据(服务端返回html、xml)

    ajax的本质就是,发送http请求的工作交给js中的XMLHttpRequest对象去做! <!DOCTYPE html> <html> <head> <m ...

  6. Ajax轮询定时的通过Ajax查询服务端

    轮询(polling)    客户端按规定时间定时向服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. ajax轮询的原理就是客户端定时向服务端发送ajax请求,服务器接到请求后马上 ...

  7. ajax向服务端发送请求验证用户名是否可用小示例

    使用ajax向服务器发送请求 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  8. ajax 获取java数据_如何使用Ajax从服务端获取数据

    在本文中将给出一个例子来介绍使用 Ajax 技术从服务端获得数据的三种方法.这个例子很简单,就是两个选择框(html中的标签),通过选中第一个select的某一项后,会从服务端得到一些数据,并加载到第 ...

  9. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)

    弹出层主要用于展示丰富的页面信息,还有一个更好的应用是弹出表单层丰富交互应用.常见的应用有弹出登录表单层,用户提交登录信息,后台验证登录成功后,弹出层消失,主页面局部刷新用户信息.本文我们将给大家介绍 ...

最新文章

  1. 查看Linux发行版的名称和版本号
  2. js计算两个日期的时间差
  3. POJ 3468 A Simple Problem with Integers (1)
  4. 数据结构上机实践第八周项目9-广义表算法库及应用
  5. Jetson Xavier中安装DIGITS-》Caffee中的错误
  6. 智能交通管理领域常用技术标准
  7. 易语言PHP自动更新,易语言自动更新源码
  8. 贵州大学计算机网络试题,贵州大学计算机基础考试题库.doc
  9. Java将Word/Excel转换成PDF—aspose工具
  10. c盘是不是越大越好_C盘下的pagefile文件是不是越大越好?
  11. mysql left join和or_mysql – 在LEFT JOIN中使用带OR条件的索引
  12. python-pandas-读取与写入文件
  13. GBase XDM Cluster 产品介绍
  14. 接着这次机会,发一下我做试管的经历~
  15. log4j安全漏洞fix--快速答疑处理篇。
  16. ubuntu18.04安装pytorch、cuda、cudnn和miniconda
  17. 项目经验之:针对昨日FDO连接SDF文件报错,国个GIS论坛给出了一个思路.帮助我过关.
  18. SOUI中心事件的使用实例
  19. IEEE802.16e 协议中LDPC编解码原理说明
  20. JAVA:将CSV文件转换成JSON

热门文章

  1. MySQL数据存储目录查找
  2. SMG12232A2标准图形点阵型液晶显示模块的演示程序[C51编程语言]
  3. Debian Squeeze AMD64安装Oracle 10g x86_64 10.2.0....
  4. python求1+2+3+....+100的和注意事项_python006(求1-2+3-4+5.....99的所有数的和)
  5. flask找不到css_Flask干货:访问数据库——Flask-SQLAlchemy初始化
  6. mysql登录错误1045修改工具_mysql登录1045错误时 修改登录密码
  7. 循环队列的java结构_Java数据结构——循环队列
  8. ir2104s的自举电容_电赛必备,IR2104S半桥驱动MOS管电机驱动板(PCB工程文件+磁悬浮代码)...
  9. qam已调信号matlab相干解调,16qam调制解调matlab
  10. mysql 存储引擎接口_MySQL 的基础一(连接池, SQL接口, 查询解析器, 查询优化器, 存储引擎接口, 执行器,)...