AJAX
AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。
AJAX 不是新的編程語言,而是一種使用現有標准的新方法。
AJAX 是與服務器交換數據並更新部分網頁的藝術,在不重新加載整個頁面的情況下。
通過在後台與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必需重載整個網頁面。
准備:使用ajax需要一個一般處理程序項,裡面執行要執行的C#代碼,是以ashx結尾的。
xml:可擴展的標記語言
主要作用:就是記錄一些數據,
為什麼要用它來記錄數據?
因為它是通用的,數據在不同語言之間的傳遞
劣勢:
1、結構繁瑣,同樣的數據,要編寫的內容較多,而且內容量較大
2、獲取數據時比較麻煩,需要一個一個的去找標記,然後獲取標記中的內容
json:
主要作用:也是記錄數據,並且將數據在不同語言之間傳遞
與xml的區別:
1、結構清晰,類似於實體類的結構組合方式
2、獲取數據時,類似實體類的取值方式
實例:
網頁端:
<body> <form id="form1" runat="server"> <div> 用戶名:<asp:TextBox ID="TextBox1" runat="server"> </asp:TextBox><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br /> <asp:Button ID="Button1" runat="server" Text="Button" /> </div> </form> </body> </html> <script type="text/javascript"> $("#Button1").click(function () { var oTxt = $("#TextBox1").val(); //1、引用Jquery //2、編寫ajax基本格式 $.ajax({ url: "aaaa1.ashx",//要連接到哪個服務端 data: { "id": oTxt },//將什麼數據傳遞到服務端 type: "POST",//用什麼樣的傳遞方式傳過去 dataType: "json",//返回的數據類型是什麼類的 success: function (bbb) { if (bbb.has == 0) { $("#Label1").text("恭喜!用戶名可用!"); } else { alert(bbb.nickname);
$("#Label1").text(bbb.pwd+","+bbb.nickname+","+bbb.sex+","+bbb.birthday+","+bbb.nation); } }, error: function () { $("#Label1").text("無法連接到服務器!"); } }); return false; }); </script>
一般處理程序:
public void ProcessRequest(HttpContext context) { string Uname = context.Request["id"]; using (Data0617DataContext con = new Data0617DataContext()) { Users u = con.Users.Where(r => r.UserName == Uname).FirstOrDefault(); if (u != null) {
//json字符串格式
context.Response.Write("{\"has\":\"1\",\"pwd\":\"" + u.PassWord + "\",\"nickname\":\"" + u.NickName + "\",\"sex\":\"" + u.Sex + "\",\"birthday\":\"" + u.Birthday + "\",\"nation\":\"" + u.Nation + "\"}"); } else { context.Response.Write("{\"has\":\"0\"}"); } context.Response.End(); } }