昨天又學到了新的知識了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"] == null13 ? string.Empty14 : context.Session["ValidateCode"].ToString();15 if (ServerCode == string.Empty || ValidateCode != ServerCode)16 {17 //校驗失敗18 context.Response.Write("驗證碼校驗失敗");19 }20 else21 {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 else30 {31 context.Response.Write("登陸失敗");32 }33 }34 35 36 }37 38 public bool IsReusable39 {40 get41 {42 return false;43 }44 }
需要注意的是,因為在一般處理程序中使用了Session,所以在這個類實現的接口需要加上IRequiresSessionState這個接口
新聞熱點
疑難解答