AJAX 即“ Asynchronous Javascript And XML ”(異步JavaScript和XML),是指一種創建
交互式網頁應用的網頁開發技術。
AJAX = 異步 JavaScript和XML(標准通用標記語言的子集)。
AJAX 是一種
用於創建快速動態網頁的技術。
通過在后台與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味着
可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新
。
傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。
這個術語源自描述從基於 Web 的應用到基於數據的應用的轉換。在基於數據的應用中,用戶需求的數據如聯系人列表,可以從獨立於實際網頁的服務端取得並且可以被動態地寫入網頁中,給緩慢的Web應用體驗着色使之像桌面應用一樣。
AJAX 的核心是 JavaScript 對象 XMLHttpRequest。該對象在 Internet Explorer 5 中首次引入,它是一種支持異步請求的技術。簡而言之,
XMLHttpRequest使您可以使用 JavaScript 向服務器提出請求並處理響應,而不阻塞用戶。
先引用jQuery,再寫代碼

代碼格式:
$.ajax({ url:"",//要將此次請求發送到哪個服務端去 data:{},//給服務端帶的數據,可以沒有,也可以是多個 type:"post", //傳遞的方式 dataType:"json",//數據傳遞的格式 success:function(data){}//如果成功返回執行此方法,“data”為自定義名 });
1、一般數據處理程序(數據接口):ashx文件

2、跨語言傳遞數據
XML 可擴展的標記語言
結構不清晰
代碼量比較大
查找起來比較費事
非面向對象結構
json
結構清晰
代碼量相對較小
面向對象的處理方式,查找數據很簡單
基本結構:
鍵值對:{"":"","":'',"":""}(英文狀態下)
練習:驗證用戶名是否可用
二、ajax局部刷新
前台代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="scripts/jquery/jquery-1.10.2.min.js"></script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true"></asp:TextBox> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> </form> </body> <script type="text/javascript"> var txt1 = document.getElementById("TextBox1"); txt1.onkeyup = function () { var v = txt1.value; $.ajax({ url: "../ajax/Handler.ashx", data: { "txt1": v }, type: "post", dataType: "json", success: function (data) { document.getElementById("Label1").innerHTML = data.ok; if (data.ok1 == "true") { document.getElementById("Label1").style.color = "green"; } else { document.getElementById("Label1").style.color = "red"; } } }); }; </script> </html>
后台代碼:
var txt1 = document.getElementById("TextBox1"); txt1.onkeyup = function () { var v = txt1.value; $.ajax({ url: "../ajax/Handler.ashx", data: { "txt1": v }, type: "post", dataType: "json", success: function (data) { document.getElementById("Label1").innerHTML = data.ok; if (data.ok1 == "true") { document.getElementById("Label1").style.color = "green"; } else { document.getElementById("Label1").style.color = "red"; } } }); };
ashx代碼
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { string s=context.Request["txt1"]; string json = "{\"ok\":\"恭喜!用戶名可用!\",\"ok1\":\"true\"}"; if (s == "zhangsan" || s == "lisi") { json = "{\"ok\":\"此用戶名不可用!\",\"ok1\":\"false\"}"; } context.Response.Write(json); context.Response.End(); } public bool IsReusable { get { return false; } } }