JQuery學習筆記 [Ajax] (6-1)

來源:互聯網
上載者:User

1). 傳統的JavaScript方法實現Ajax功能

var objXmlHttp = null; //聲明一個空的XMLHTTP變數
        function CreateXMLHTTP() {
            //根據瀏覽器的不同,返回該變數的實體物件
            if (window.ActiveXObject) {
                objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } else {
                if (window.XMLHttpRequest) {
                    objXmlHttp = new XMLHttpRequest();
                }
                else {
                    alert("初始化XMLHTTP錯誤!");
                }
            }
        }
        function GetSendData() {
            document.getElementById("divTip").innerHTML = "<img alt='' title='正在載入中...' src='Images/Loading.gif' />"; //初始化內容
            var strSendUrl = "6-1b.html?date=" + Date(); //設定發送地址變數並賦初始值
            CreateXMLHTTP(); //執行個體化XMLHttpRequest對象
            objXmlHttp.open("GET", strSendUrl, true); //open方法初始化XMLHttpRequest
            objXmlHttp.onreadystatechange = function() { //回調事件函數
                if (objXmlHttp.readyState == 4) { //如果請求完成載入
                    if (objXmlHttp.status == 200) { //如果響應已成功
                        //顯示擷取的資料
                        document.getElementById("divTip").innerHTML = objXmlHttp.responseText;
                    }
                }
            }
            objXmlHttp.send(null); //send發送設定的請求 
        }

6-1b.html:

<div class="clsShow">姓名:陶國榮<br />性別:男<br />郵箱:tao_guo1_rong@163.com</div>

 

2). load()方法實現Ajax功能

$(function() {
            $("#Button1").click(function() { //按鈕點擊事件
                $("#divTip").load("6-1b.html"); //load()方法載入資料
            })
        })

 

3). getJSON函數擷取資料

$(function() {
            $("#Button1").click(function() { //按鈕單擊事件
                //開啟檔案,並通過回呼函數處理擷取的資料
                $.getJSON("UserInfo.json", function(data) {
                    $("#divTip").empty(); //先清空標記中的內容
                    var strHTML = ""; //初始化儲存內容變數
                    $.each(data, function(InfoIndex, Info) { //遍曆擷取的資料
                        strHTML += "姓名:" + Info["name"] + "<br>";
                        strHTML += "性別:" + Info["sex"] + "<br>";
                        strHTML += "郵箱:" + Info["email"] + "<hr>";
                    })
                    $("#divTip").html(strHTML); //顯示處理後的資料
                })
            })
        })

4). getScript函數擷取資料

$(function() {
            $("#Button1").click(function() { //按鈕單擊事件
                //開啟已擷取返回資料的檔案
                $.getScript("UserInfo.js");
            })
        })

UserInfo.js:

var data = [
  {
      "name": "陶國榮",
      "sex": "男",
      "email": "tao_guo_rong@163.com"
  },
  {
      "name": "李建洲",
      "sex": "女",
      "email": "xiaoli@163.com"
  }
];
 
var strHTML = ""; //初始化儲存內容變數
$.each(data, function() { //遍曆擷取的資料
    strHTML += "姓名:" + this["name"] + "<br>";
    strHTML += "性別:" + this["sex"] + "<br>";
    strHTML += "郵箱:" + this["email"] + "<hr>";
})
$("#divTip").html(strHTML); //顯示處理後的資料

 

5). get實現非同步擷取xml文檔資料

$(function() {
            $("#Button1").click(function() { //按鈕單擊事件
                //開啟檔案,並通過回呼函數處理擷取的資料
                $.get("UserInfo.xml", function(data) {
                    $("#divTip").empty(); //先清空標記中的內容
                    var strHTML = ""; //初始化儲存內容變數
                    $(data).find("User").each(function() { //遍曆擷取的資料
                        var $strUser = $(this);
                        strHTML += "姓名:" + $strUser.find("name").text() + "<br>";
                        strHTML += "性別:" + $strUser.find("sex").text() + "<br>";
                        strHTML += "郵箱:" + $strUser.find("email").text() + "<hr>";
                    })
                    $("#divTip").html(strHTML); //顯示處理後的資料
                })
            })
        })

UserInfo.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Info>
  <User id="1">
    <name>陶國榮</name>
    <sex>男</sex>
    <email>tao_guo_rong@163.com</email>
  </User>
 
  <User id="2">
    <name>李建洲</name>
    <sex>女</sex>
    <email>xiaoli@163.com</email>
  </User>
</Info>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.