那些年,我還在學習Ajax 學習筆記_AJAX教程

      編輯Tag賺U幣

      推薦:javascript Ajax獲取遠程url的返回判斷
      將以下文本放入一個HTML頁面即可看到效果,將會有兩次彈出提示,最后在頁面上顯示YES,表示完成

      通俗的說,Ajax就是一種網頁無刷技術,以提高用戶體驗,Ajax并不是什么新的技術,只是在那些年才火了起來(Ajax火起來時,哥只知道聊QQ),所以它就備受觀注;當然,那些年就開始學習了。
      一、完成Ajax請求
      1、 在完成這個請求之前,先來了解一下Ajax是什么,它的全名叫異步的javascript與、XML,從名稱可以看出,它與javascript和XML有不解之緣,Ajax使用XML地HTTP請求,通過瀏覽器建立的xmlHttpRequest對象,異步的向服務器發送請求,服務器處理請求后,將響應通過xmlHttp.responseText屬性返回給javascript函數處理數據,進一步使用javascript處理DOM,完成頁面的局部更新。
      2、 代碼示例,使用XMLHttpRequest完成請求
      代碼:JS:
      復制代碼 代碼如下:www.wf0088.com

      <script type="text/javascript">
      //XMLHttpRequest對象
      var xmlHttp;
      function buildXMLHttpRequest() {
      //判斷瀏覽器
      if (window.ActiveXObject) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE
      } else if (window.XMLHttpRequest) {
      xmlHttp = new XMLHttpRequest(); //非IE
      } else {
      xmlHttp = NaN;
      }
      }
      function sendRequest() {
      buildXMLHttpRequest();
      //Post請求
      xmlHttp.open("post", "Handler.ashx", true);
      xmlHttp.onreadystatechange = function() {
      //判斷狀態
      if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
      alert(xmlHttp.responseText);
      }
      }
      //定義傳輸的文件HTTP頭信息
      xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //采用的編碼方式
      xmlHttp.send("value=1");
      }
      </script>

      Handler.ashx:
      復制代碼 代碼如下:www.wf0088.com

      <%@ WebHandler Language="C#" Class="Handler" %>
      using System;
      using System.Web;
      public class Handler : IHttpHandler {
      public void ProcessRequest (HttpContext context) {
      context.Response.ContentType = "text/plain";
      context.Response.Write("Hello World xin_ny 中文件 "+context.Request.Params["value"]);
      }
      public bool IsReusable {
      get {
      return false;
      }
      }
      }

      效果:

      二、Jquery中的Ajax方法
      記得在那些年,我還在學習Jquery中沒有說到它的Ajax方法,這里就補上了,JQuery提供了很多Ajax函數,方便了開發人員的使用,不再需要開發人員創建XMLHttpRequest對象來完成請求,可直接使用JQuery庫中的Ajax函數完成請求,并兼容性也較好,下面就來看一下Jquery的Ajax吧。
      1、Jquery得到數據方法:load()
      例:
      復制代碼 代碼如下:www.wf0088.com

      function ajaxMethod() {
      $("#spanDiv").load("DemoData.txt");
      }

      2、Jquery的get(url,[data],callback)方法
      例:
      復制代碼 代碼如下:www.wf0088.com

      function ajaxGet() {
      //對象數據源
      var obj = { first: "First", second: "Second" };
      $.get(
      "CallBackData.ashx", obj, function(data) {
      $("#spanDiv").html(data);
      });
      }

      3、Jquery的post(url,[data],callback,type)方法
      例:
      復制代碼 代碼如下:www.wf0088.com

      function ajaxPost() {
      //對象數據源
      var obj = { first: "First", second: "Second" };
      $.get(
      "CallBackData.ashx", obj, function(data) {
      $("#spanDiv").text(decodeURI(data));
      });
      }

      4、Jquery的ajax(option)方法
      例:
      復制代碼 代碼如下:www.wf0088.com

      function ajaxAjax() {
      //對象數據源
      var obj = { first: "First", second: "Second" };
      $.ajax({
      type: "Get",
      url: "CallBackData.ashx",
      data: obj,
      success: function(data) {
      $("#spanDiv").text(decodeURI(data));
      }
      });
      }

      5、Jquery的ajaxSetup(options)方法,設置全局的ajax的配置
      例:
      復制代碼 代碼如下:www.wf0088.com

      function ajaxAjaxSetup() {
      //對象數據源
      var obj = { first: "First", second: "Second" };
      $.ajax({
      type: "Post",
      url: "CallBackData.ashx",
      data: obj,
      success: function(data) {
      $("#spanDiv").text(decodeURI(data));
      }
      });
      }

      6、Jquery的ajaxSubmit(options)方法,提交表單
      總結
      那些年學習Ajax,提高了用戶體驗,同時也減輕了服務器的負擔,此文經回憶那些年學習Ajax的日子。

      分享:Ajax通訊原理XMLHttpRequest
      AJAX = 異步 JavaScript 和 XML。JavaScript不用說腳本語言,XML也不用說可擴展標記語言用于存放數據信息

      來源:模板無憂//所屬分類:AJAX教程/更新時間:2013-04-22
      相關AJAX教程