JSON和Ajax(二)——用AJAX獲取本地JSON數(shù)據(jù)

一、AJAX簡單整理

1.Ajax 是什么臀叙?

Ajax這種技術是指無需刷新頁面即可從服務器取得數(shù)據(jù)坐梯。
Ajax的核心是XMLHttpRequest對象,簡稱XHR

2.XMLHttpRequest對象

如果要使用XHR對象很簡單森瘪,只需要如下:

var xhr = new XMLHttpRequest();

但如果需要兼容牡属,那就需要構建一個函數(shù):

function creatXHR() {
    if(typeof XMLHttpRequest != 'undefined') {
        return new XMLHttpRequest();
    } else {
        return new ActiveXObject('Microsoft.XMLHTTP');
    }
}

var xhr = creatXHR();
3.XHR的用法

在使用XHR對象時,需要調用兩個方法扼睬,一個open()方法逮栅,一個send()方法。
其中窗宇,open()接收3個參數(shù)措伐,如下:

xhr.open('GET', 'json/data.json', false);

說明:

  • 第一個參數(shù):啟動一個針對data.json的GET請求;這個參數(shù)可以有GET/POST军俊。
  • 第二個參數(shù):URL(可以是絕對路徑也可以是相對路徑)
  • 第三個參數(shù):false/true侥加,是否異步

注意:
調用open()方法并不會真正的發(fā)送請求,它只是啟動一個請求以備發(fā)送粪躬,完整的發(fā)送特定請求如下:

xhr.open('GET', 'json/data.json', false);
xhr.send();
4.XHR的屬性

在收到響應后担败,響應的數(shù)據(jù)會自動填充XHR對象的屬性,其屬性如下:

  • responseText:作為響應主體被返回的文本镰官。
  • responseXML:如果響應的內(nèi)容類型是"text/xml"或"application/xml",這個屬性中將保存包含著響應數(shù)據(jù)的XML DOM文檔提前。
  • status: 響應的HTTP狀態(tài) [200 是成功,304是資源沒有修改過]
  • statusText: HTTP狀態(tài)的說明

二泳唠、用AJAX獲取本地JSON數(shù)據(jù)

<script>
    function creatXHR() {
        if(typeof XMLHttpRequest != 'undefined') {
            return new XMLHttpRequest();
        } else {
            return new ActiveXObject('Microsoft.XMLHTTP');
        }
    }

    var xhr = creatXHR();
    xhr.open('GET', 'json/data.json', false);
    xhr.send();

    if(xhr.status >= 0 && xhr.status < 300 || xhr.status == 304) {
        var comentList = JSON.parse(xhr.responseText).user; 
        var html = ""
        for(var i = 0; i < comentList.length; i++) {
            var star = `<p>id="${comentList[i].id}",name="${comentList[i].name}"</p>`
            html += star;
        }
        document.getElementById('outer').innerHTML = html;
    }
</script>

如果用Jq就更簡單了:

$(function(){
   $.ajax({
       type:'GET',
       url: "./json/data.json",
       dataType: "json",
       success: function(data){
           var comentList = data.user;
           $.each(comentList, function(i,item) {
                var str = `
                    <p>id=${item.id},name=${item.name}</p>
                `;
                $('#outer').append(str);
           });  
       }
   })
})
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狈网,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拓哺,老刑警劉巖害淤,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拓售,居然都是意外死亡窥摄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門础淤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崭放,“玉大人,你說我怎么就攤上這事鸽凶”疑埃” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵玻侥,是天一觀的道長决摧。 經(jīng)常有香客問我,道長凑兰,這世上最難降的妖魔是什么掌桩? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮姑食,結果婚禮上波岛,老公的妹妹穿的比我還像新娘。我一直安慰自己音半,他們只是感情好则拷,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著曹鸠,像睡著了一般煌茬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上彻桃,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天坛善,我揣著相機與錄音,去河邊找鬼叛薯。 笑死浑吟,一個胖子當著我的面吹牛笙纤,可吹牛的內(nèi)容都是我干的耗溜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼省容,長吁一口氣:“原來是場噩夢啊……” “哼抖拴!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤阿宅,失蹤者是張志新(化名)和其女友劉穎候衍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洒放,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蛉鹿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了往湿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妖异。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖领追,靈堂內(nèi)的尸體忽然破棺而出他膳,到底是詐尸還是另有隱情,我是刑警寧澤绒窑,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布棕孙,位于F島的核電站,受9級特大地震影響些膨,放射性物質發(fā)生泄漏蟀俊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一订雾、第九天 我趴在偏房一處隱蔽的房頂上張望欧漱。 院中可真熱鬧,春花似錦葬燎、人聲如沸误甚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窑邦。三九已至,卻和暖如春壕探,著一層夾襖步出監(jiān)牢的瞬間冈钦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工李请, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞧筛,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓导盅,卻偏偏與公主長得像较幌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子白翻,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容