异步初体验_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 异步初体验

异步初体验

 2015/1/6 12:27:10  银墨  程序员俱乐部  我要评论(0)
  • 摘要:昨天又学到了新的知识了AJaxAJAX即“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。这是百度到的东西好处:通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页面。很早以前就听说过这个东西了,听起来很高大上的啊!我觉得就是
  • 标签:异步

昨天又学到了新的知识了AJax  AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。这是百度到的东西   好处:通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页面。

很早以前就听说过这个东西了,听起来很高大上的啊!

我觉得就是,为一个按钮注册一个事件,当点击的时候就使用一个新的线程去访问后台,然后再根据得到返回结果继续下面的逻辑。

其实说起来,AJAX就是一段JavaScript代码

 1 <script src="../JS/jquery-1.8.2.js"></script>
 2     <script type="text/javascript">
 3         $(function () {
 4             $("#btnLogin").click(function() {
 5                 $.get("PLogin.ashx", {
 6                     UserName: $("#txtClientID").val(),
 7                     Pwd: $("#txtPassword").val(),
 8                     Code: $("#txtCode").val()
 9                 }, function(data) {
10                     if (data=="ok") {
11                         window.location.href = "Main.aspx";
12                     } else {
13                         alert(data);
14                     }
15                 });
16             });
17         });

 首先是引入jQuery,其实直接用JavaScript就能实现了,不过jQuery给我们封装好了,用起来很爽

为按钮注册点击事件,方法里使用  $.get()    或    $.post()

这两个方法在jQuery中使用起来没有任何区别,都是有三个参数

第一个:需要请求的地址

第二个:JSON格式的键值对,是传到后台的参数

第三个:传一个方法进去,方法有一个参数,就是用来接收后台返回的数据的,方法体中就是根据返回的数据实现接下来的逻辑的。

 

下面再贴一段我的那个一般处理程序的代码:

 1 public class Login1 : IHttpHandler,IRequiresSessionState
 2     {
 3 
 4         public void ProcessRequest(HttpContext context)
 5         {
 6             context.Response.ContentType = "text/plain";
 7             string UserName = context.Request["UserName"];
 8             string Password = context.Request["Pwd"];
 9             string ValidateCode = context.Request["Code"];
10 
11             //验证码校验
12             string ServerCode = context.Session["ValidateCode"] == null
13                 ? string.Empty
14                 : context.Session["ValidateCode"].ToString();
15             if (ServerCode == string.Empty || ValidateCode != ServerCode)
16             {
17                 //校验失败
18                 context.Response.Write("验证码校验失败");
19             }
20             else
21             {
22                 BLL.HKSJ_USERS bll = new HKSJ_USERS();
23                 List<Model.HKSJ_USERS> list= bll.GetModelList(string.Format(" LoginName='{0}' and PassWord='{1}' ", UserName, Password));
24                 if (list.Count>=1)
25                 {
26                     context.Session["LoginUser"] = list[0];
27                     context.Response.Write("ok");
28                 }
29                 else
30                 {
31                     context.Response.Write("登陆失败");
32                 }
33             }
34 
35 
36         }
37 
38         public bool IsReusable
39         {
40             get
41             {
42                 return false;
43             }
44         }

 需要注意的是,因为在一般处理程序中使用了Session,所以在这个类实现的接口需要加上IRequiresSessionState这个接口

发表评论
用户名: 匿名